The Perils of Software Development
I’ve been in the computer industry for more than a decade. I’ve heard all the complaints about software support, all the bug reports, and all the grumbles about the evils of the big bad software companies. Some of it I understood – but some I did not, until we began developing our own software. It has certainly been an education, and has deepened my appreciation for those who donate their software freely to the open source community.
First of all, software development is difficult. Only a fraction of the coders who start out to create a moderately complex piece of software actually finish it. Because it is often hard to figure out the best way to accomplish complex tasks. It is usually easy to write the first part, but like publishing a novel, all the final editing, testing, bug fixing, etc, to even get it reasonably stable, is a very time consuming, tedious work. The fun wore off LONG ago!
Of those that finish an application, even fewer choose to release it to the public. See, you can write a little piece of software for yourself, and get it working in your environment pretty easily. But once you release it and let other people use it, three things happen:
1. It now has to work in THEIR environment. That means on their operating system with their browser, or with their server configuration, etc. And individual settings, other applications running alongside, etc, can change the stability of the software. This is why software goes through beta testing, multiple release candidate stages, and why version 1.0 is invariably buggy. It just takes time, and actual use, for bugs to show up under a wide variety of usage environments. Bug fixing takes a tremendous amount of resources.
2. As soon as people get their hot little hands on a simple little app that was designed to just do one simple little thing, they want it to do MORE! And MORE, and MORE! They are simply never satisfied. Feature requests POUR in. Every person who uses it wants to use it in just a little different way. So you make an attempt to meet the reasonable requests, which sends your development costs through the roof – you not only now have bug fixing going on, you also have new features to write and test, and then bug fixing on THOSE.
3. Then, you have SUPPORT. You write a manual, that explains everything, and figure people will read the manual, follow the instructions, and things will work, right? Wrong. A good many people simply won’t read. A good many people who WILL read, won’t get it. And a good many people who do follow the instructions will make simple errors as they do so – typos, mixing the up order of tasks, or other simple mistakes that cause problems. And they’ll call YOU when it doesn’t work. You HAVE to help them – because you nor they really know whether it is human error or a software bug causing the problem until AFTER you’ve helped them. Support tends to be very high with new software – it can take more time than the actual coding. You have the choice of either NOT including support (or making it a paid extra), or of pricing your software to include a reasonable amount of average support time (and hoping that reality does not exceed that average). We would love to sell our auto-installer for less, but find that we cannot, because it just requires too much support, and if we priced it lower, we’d go broke.
It is simple for a project to positively explode with new coding and troubleshooting demands, to the extent that a coder, or even a coding team, can end up overwhelmed.
We like to think of the software companies as the “bad guys” for making it so hard to get support. We like to think they don’t listen to bug reports, or feature requests. Actually they do – but in order to contain costs, they’ve simply turned a deaf ear to certain classes of complaints or requests, and they’ve put up barriers to calls from people who simply don’t want to read the manual. Support time is costly, and it shaves off the profit margins if not controlled, and can put a company in the red pretty fast.
We’ve released three pieces of software in the last year, and are in the process of improving one of them, after which we will be releasing three more pieces. It took six months after releasing the first to reach critical mass – we could no longer go forward with bug fixing, improvements, AND support on one piece, and have any time left for new development. So we took steps to contain support, we finished off some bug fixing and put a feature freeze on one major piece. Then we focused on getting to that point with the other pieces. Without doing that, we’d never have time to develop anything else.
We found that each piece of software goes through some phases that affect costs.
1. New release. The bug fix requests and feature requests pour in. You have to determine in this stage what IS a bug, and what is not, which situations you’ll support, and which you won’t. You also have to determine which feature requests are reasonable (enough people will want it), and which are not.
2. Stable. Bug fixes and feature requests decline, but support continues to slowly grow, in spite of containment, due to increasing numbers of customers.
3. Compatibility Changes. Just about the time that your software is stable and predictable, part of the operating environment changes. The computer operating system, browser, or other dependent applications will upgrade, throwing your software into another series of malfunctions, and bugs. New features in dependent applications may make new possibilities available for you, resulting in new feature possibilities. Long term, this can be a huge drain on resources, and is a primary reason why most companies charge for new versions, or offer support for only a limited time after purchase.
It is not easy. And you find that when you are trying to be the good guy, many people will be angry with you anyway. If you do your best to offer good support, people will complain anyway. If you price fairly, there are those who still want it free. If you lower the price and lower support, people will complain about the lower support. If you release a lower priced version with fewer features, they’ll complain about not getting all the features for the lower price. Most users simply never consider how much time development, support, and improvement actually cost.
I think the Open Source community has influenced some people to think that they OUGHT to be entitled to receive everything they want free. Sensible people know better, but a lot of people think that anyone who charges for software is evil. We found that with our auto-installer. And then on the forums, we saw a rash of people promising to deliver an equivalent free. They’d promise and promise, say it was just about done, then they’d disappear. They found it was much harder than they’d anticipated to even accomplish the first step in the process, let alone deliver a fully functioning, feature rich piece of software capable of doing what ours does. But the prospective users still clamor for it anyway.
I don’t regret our foray into it. Indeed, this is a large part of the future of our business, and holds the promise of providing a significant percentage of our income. But it does require that we adapt to the reality, and that we be committed to a customer base in spite of some very real difficulties.
It isn’t as easy as it looks!
Check out our new Cottage Industry Consulting and Development services at CottageIndustrialRevolution.com – Services include consulting for software development businesses.
Nerdy Girl
Ok, so Kevin said we ought to make up alternate words for Terri Clark’s song “Dirty Girl”.
So we gave it a shot.
Nerdy Girl
Brain cells chewin’ on the error message
Throwin’ tech words everywhere
I’m beside you helpin’ with the guesses
Runnin’ my fingers through your hair
And you know, there’s nothin’ like it in the world
When we’re out there in front of the Dell and I’m a nerdy girl
I like it when we get cleaned up on Monday
Snuggling up with strings of code in Perl
Well when we’re coding and it’s just a fun day
You know, I love it when I get to be your nerdy girl
Nerdy girl
You’ll be workin’ on that brand new program
Smoke almost pourin’ out your ears
I’ll come sneakin’ up and whisper real low
“You’ve got a semi-colon missing here”
And you know, there’s nothin’ like it in the world
When we’re troubleshooting code and I’m a nerdy girl
I like it when we get cleaned up on Monday
Snuggling up with strings of code in Perl
Well when we’re coding and it’s just a fun day
You know, I love it when I get to be your nerdy girl
And you know, there’s nothin’ like it in the world
It might be php or trying out some Rails
But when you whisper geek and send me tech emails
I’ll be your nerdy girl
I like it when we get cleaned up on Monday
Snuggling up with strings of code in Perl
Well when we’re coding and it’s just a fun day
You know, I love it when I get to be your nerdy
Get to be your nerdy girl, nerdy girl
I get to be your nerdy girl
Both Sides of Local Search
Local search is being used increasingly by people in larger metro areas, and as a result, search engines are now emphasizing it in search results. For many businesses, this is an opportunity. For others, it is not only NOT an advantage, it ends up being a problem. Local search doesn’t benefit all businesses.
If you have a local physical location that you want to draw people to, or if you want to attract people near where you are located, local search is helpful, and there are ways you can capitalize on the trend. You can work location keywords into your title and description tags (careful, no more than two per page), and you can put a single location list on each page in your site (put it in the same location on each page, near the bottom, no more than 10 locations, and make it people friendly). This can help bring you the people who are most likely to buy and trust you.
On the other hand, for many businesses, it isn’t helpful at all. This can be for a range of reasons, and our business is a good example. We market nationwide. There are a few towns near us that we market into, but there are limits to listings that mean it won’t help us at all.
Local search engines and local search results often have limits to them.
- First, they ONLY allow you to put in your actual business location. So even if I am doing events in other cities, and need local advertising, it does not help me, because my business address is in Wyoming, and that is what they judge your location by. You cannot be located one place, and promoting into another.
- Next, they only show results in a 50 mile radius. Well, we are in Medicine Bow, but we serve several Wyoming towns – Laramie is 60 miles away, Rawlins is 60 miles away, Saratoga is 60 miles away, Casper is 95 miles, and Cheyenne is 105 miles. No good at all!
And some locations may not have a high enough population to make it worth promoting local. An SEO pro once tried to do some optimization with one of our sites, and recommended using Wyoming in all of our key site tags. Apparently she did not do the research ahead, but made some erroneous assumptions. In any other state, that might work. In Wyoming it does not.
- Wyoming has a population of only 800,000 and some odd. The WHOLE STATE! And the number of searches per day for Wyoming Web Design is pathetically small – not even into double digits, and that with inflated reporting methods! So Wyoming isn’t worth going after in the first place!
- Other companies across the US also make the same erroneous assumption that the SEO pro did. They assume it is a state like any other and worth going after, so they optimize for it along with all the other states. That means you have thousands of companies wrangling over three interested people per day, and you can’t even RANK for Wyoming Web Design related terms. Bloated competition, and nearly non-existent market base. Bad combination.
So optimization for local search is a big strike out for us on all counts. It does provide a good example of not just one or two reasons for not using local search optimization, but just about EVERY reason not to use it though!
- The thing is, there are a LOT of small, rural businesses with similar issues to what we have. No customer base at all within 50 miles of them, and a need to market out further.
- There are a LOT of businesses with a national focus to whom local optimization is a waste of time.
- There are a LOT of mobile businesses that do local presentations or local events, which need local marketing, but who cannot access it, and for whom the current setup is totally useless.
When optimizing a website, don’t overlook Local if it is an asset. But don’t think it is useful for every site either – putting local info in on a site that won’t benefit from it will actually HURT them, not help them.
Battling Dragons
Life was good. Her husband had a fine job, she worked a little from home, and her kids were well, and progressing through the normal milestones of childhood and school. She experienced the normal ups and downs of confidence associated with juggling a busy life. But it was good, and she felt fairly competent in her life, and sure of her ability to cope.
Then one day, she found a green dragon in her kitchen, blocking the way to the sink, where a load of dirty dishes awaited. She managed to get around it, after struggling with it for a bit, but it tormented and teased her as she worked. It dropped dishes, got in the way, and generally slowed her work. The next day, it was still there. And the next, and the next.
Several days later, a purple dragon appeared in the livingroom. It took up residence in the middle of the room, and harassed her as she vacuumed, and folded laundry.
Soon, an orange dragon appeared in the diningroom, and a blue one in front of the kitchen stove. A red one appeared in the bathroom, where it made taking a shower very difficult. A yellow dragon parked itself in her car, requiring a struggle to drive anywhere. And then a black dragon appeared at the foot of the bed, to challenge her each morning as it came time to rise.
No one else seemed to see the dragons. They were hers, alone, to battle, and they were everywhere. They got in the way when she helped her kids with schoolwork, when she tried to get out of the house to volunteer. They made everything she did very hard, and often made it impossible to complete the tasks she set out to accomplish.
At first, the dragons were a challenge, and she kept on going. She faced each with a determination to NOT let them conquer her, and to get things done in spite of them. But as they appeared, day after day, and as new dragons joined the old dragons, she found she just could not fight all of them, all the time – there simply was not enough of her to do it all. Sometimes the dragon at the stove was so troublesome that she just asked the kids or her husband to make sandwiches instead of cooking dinner for them. She often left the laundry in the basket beside the couch, because it was simply too difficult to complete the task. The floor went un-vacuumed, and the broom stayed under guard by a pink dragon in the hall closet. Some days, it seemed that the battle to just get out of bed was all she could handle – everywhere she moved, a dragon was in the way, and nothing else seemed to get done.
At night, she would go to bed, reviewing the day, feeling like a failure, because nothing had been done that seemed to matter. She had spent the day battling dragons, and had not accomplished any of her appointed responsibilities.
One day, a friend came to visit. She looked at the floor, and at the laundry, and at the dishes in the kitchen, and at the bread and peanut butter on the diningroom table where the kids had left it after eating lunch.
“How are you… Really?” she asked, looking at the weary woman’s face.
“Oh… ok.” she sighed. “I just wish there were more hours in the day.”
“You look tired.”
“I feel like I am not getting anything done that I should be doing!” once she started, it was hard to stop. “My house is a mess, my kids are fixing their own meals most of the time, and it is hard to just get out of bed! And I just can’t get anything done, I just feel so incompetent! I’m not DOING anything!”
“Yes, you are doing something. You’re battling dragons.” the friend said.
She looked startled. “Can you see them too?”
“No, but I’ve had my own battles with dragons, so I know what they do. And I know what someone looks like when they are fighting them.” the friend replied.
“I thought I was the only one. I thought I was going crazy, or that I had done something bad to deserve them!” the woman said.
“Oh, most people have dragons at some point. And most women beat themselves up when those dragons get in the way and they can’t do everything they think they should.” her friend said gently, “There are some people who haven’t battled dragons yet, who will make you feel guilty, but many people have been where you are, and they really do understand.
“Dragons come in a lot of forms, and pretty much everybody fights them at some point or another. You know Julie?” the friend asked. The woman nodded in response, as her friend went on, “Her daughter has a heart condition. She has battled dragons from the day her daughter was diagnosed. And Tracy?” again the woman nodded, “Her mother moved in with her, and cannot feed or dress herself anymore. A lot of dragons came with that one. Kendra has Lupus, and fights some of the biggest dragons I’ve ever heard of. Angela has a mental illness, which stays fairly well controlled, but comes with an assortment of particularly nasty dragons. Nancy’s husband is out of work – so she and her husband both have dragons to fight. Elaine’s son has a rare chromosomal disorder, so their whole family fights dragons because of it.”
“I didn’t realize!” the woman exclaimed. “I got so busy worrying about my dragons that I didn’t even see that other people might have similar challenges.”
“Oh yes.” her friend replied, “It is hard to see when you are fighting dragons, that other people are probably doing the same. But it is also hard to give yourself credit for fighting them. You feel tired every day, and you feel like you didn’t get anything done. But you DID. You fought dragons all day, and you STILL got up, took a shower, and made sure your kids were dressed and fed and safe.”
“But I didn’t cook anything, and I didn’t get much cleaning done.” she protested.
“If you are going to survive with dragons, you have to give yourself credit for what you DID do. You are surviving. That is a great thing, and takes a lot of energy when there are dragons that try to stop everything you do. You are surviving and still making a difference in the world – you may be sure that God certainly gives us credit for our accomplishments, even when it seems to only be battling dragons.” her friend assured her. “The dragons usually go away after a while. Some people have to live with them longer than others, but for most people, they will eventually go away. They may come back later in a different way though. When there are dragons, we get by, and do what we can. We get up each morning, and pick the most important thing to do. We try as hard as we can to do that thing. Sometimes it takes all day, or it is all we have the energy for. Sometimes we can’t even get that one thing done. But we keep trying. That is what makes a person a great survivor. NOBODY sails through challenges in life while doing everything they used to do. You just can’t do that and cope too!”
“I suppose you are right.” she admitted.
“When you can’t get things done, you are not doing nothing.” her friend said firmly. “You are battling dragons. And you are winning.”
Credit or Blame
If a client makes money this week from their website, I get a thank you, and raving compliments. If a client site slumps and doesn’t earn, I take the blame for providing them with a lousy website. That is the drawback of being a web professional – good, or bad, we get the credit or blame.
Problem with that is that we can only influence some things. A client just re-hired us to rework some on-page copy, and some title and description tags. Two years ago, she came to me with a site that had just tanked in Google. We went through and recommended some very simple changes. Two weeks later, she was at the top of Google again, where she stayed. I can’t really say that what we did even had any effect. It is possible that Google would have put her back anyway. But we got the credit, and more work because of it.
Early on in the web game, I realized that we could not just build a site and walk away. That if we did not continue to do some hand holding and to be there to help with traffic issues, not just design and technical issues, that we’d lose clients long term. So we started to figure out how to offer that stuff long term. Our client sites work much better when they know they can come to us for stats analysis and marketing suggestions any time. And we might as well throw in some simple stuff with our maintenance fee, because the fact is, if we don’t, we get the blame when the site fails to earn, and we lose clients in droves, and have a harder time getting more, as opposed to when they WORK, and clients recommend new clients.
So I realize there are some things that I SHOULD take the blame for, and many things I can influence.
I do find it amusing though, when things just happen, over which I did not actually have control, and I get the compliments or complaints.
Marketing to a Narrow Niche
Niche marketing has really buzz over the last few years, with many marketers claiming that it is a more effective way of marketing. Niche marketing means you select a facet of a market, and serve that market only. I agree that it is something that can be effective for very small businesses, but it also has limits that need to be understood if you really want to make money at it.
For the most part, niching is something that happens naturally. Oh, a few people have to consciously think about it to do it, but most only have to think about it to figure out the niche they already occupy. Most niches are what they are – you can’t easily broaden or narrow them. A product or service works for the people it works for. Good niching just identifies that accurately and then maximizes the potentials.
Very narrow niches are difficult to market for. And often, you can’t broaden the niche just because you’d like to. If it doesn’t exist, you can’t create it. Let me explain through an example:
- We sell a piece of software for Webmasters. Ok, BIG target market, right? Well, maybe .1% of the population could conceivably be classed as a Webmaster, or Web Designer. With a world population rounded to 7,000,000,000, we have a nice fat number to start with. .1% = 7,000,000
- The most likely people to want this are self-employed Webmasters, or very small web companies. So chop that number by 80%. That gives us 1,400,000.
- Our software is ONLY for Webmasters who also sell hosting. We just chopped another 90% off of our market base. This leaves 140,000.
- It is also ONLY for those who use Cpanel hosting. So we just whacked another 60% off the previous total for a remaining number of 56,000.
- And, it is only for those who use a specific billing manager – WHMCS. We just reduced the last total to about 10% of what it was, leaving 5600 people.
- Of that total, only a fraction – perhaps 20%, will be in a position to WANT the software we have – they will want the automation feature we provide. 1120 brave souls.
- Probably 30% of those people will think to look for it, about 1/3 will try to code their own, and another third will want it but think it does not exist so they won’t look. 336 people left.
- Of those, about 1/3 will actually be prepared to PAY for a solution. Most want one free (it doesn’t exist, but it doesn’t keep them from stubbornly claiming that they should not have to pay for it). That leaves about 111 if we round off.
So at any given time, we may have about 111 people worldwide who are ready and willing to buy the thing we have, IF we can reach them and let them know that we have it. Finding 111 people in a world of 7 billion people is a difficult thing to do! The amazing thing is that we do actually make sales with this software.
But the niche is very tight. Even if we promote where they are likely to hang out, we still have a low chance of locating them, because they are always just a small portion of the people there. It makes marketing it difficult.
So why do we do it? Because we need the software, so we have to develop and maintain it anyway. We might as well sell it to those few people who do need it.
Can we broaden the niche? Perhaps. We could code a version for Plesk. This might increase our market base by 30-50%. Is it worth it? Recoding the app for a second version would cost us several thousands of dollars, and might give us only 1-2 sales per month (at around $300 per sale). We’d have additional ongoing development and maintenance costs as well, which might in themselves offset the profits. We don’t NEED a Plesk version, we don’t use Plesk, so our motive for doing it anyway is gone.
Niching is a good way to differentiate a business, but it is important in doing so that you make sure there is enough of a target market to actually promote to and earn from. Otherwise it can be very difficult to profit from your niche.
Finding Yourself and Your Customers in Your Marketing
I have long told my clients, “You are your biggest asset in your business, and in marketing.” I believe that the strengths of an individual point naturally to marketing methods and messages. When you maximize those, marketing is both easier and more effective. When you work against them, things become hard, and less successful.
A client of ours recently married. Her new last name was one that she felt uncomfortable in – she did not care for it, felt it was not necessarily a good image for her business. She had pondered and reached deep into herself to come up with a business name and imagery. She felt that what she had suited that vision.
She hired a marketing coach to help her to generate some clients. The first thing he told her is that she needed to rename her business, to her last name. He felt it was unusual enough to be memorable and that she should capitalize on it. He also told her to revise her business images, and totally rebuild it. She came back to me and asked me my opinion.
I disagreed with the marketing pro. It had nothing to do with his expertise, but with HER. He may have known how to get clients for himself, but he did not know her, and he did not seem to want to. I reminded her that she disliked her last name, but she loved her business name and felt it reflected a part of herself. That her business name was what she felt inspired to call it. I did not feel that she would be able to confidently go out there and promote her business if it was gutted of the very vision she had felt so strongly that she needed to promote. Her business name and imagery was wrapped up in who she is, and in the purpose of what she does. I felt if she removed those things, that she would be decapitating her business vision, and would remove her own ability to even do it any more. I also felt that in the event that it did work, it might bring clients to her that were not the ones she wanted to be working with.
My gut feeling about the marketing pro was that he was uncomfortable with who she was. That he wanted to remake her into a clone of himself, because that was the only success path he could envision. He did not understand that there are many ways to market, and many ways to succeed, and he simply could not get far enough outside himself to see who she really was, or to perceive any part of her as a strength, nor to be able to counsel her on how to USE her inborn strengths. He said that her site was wrong for the entire market she was aiming for – but the market was very diverse, and the messages were only wrong for the segment HE preferred. It was less a matter of it being wrong for the market than it was of his lack of ability to even SEE that portion of the market. She did not want the same customers he did, and he could see no value in any other.
I feel that when we create a business vision that is part of who we are, that it will naturally attract people whom we will be able to help, whereas when we use marketing methods that are not in line with our beliefs and personality, we are likely to end up with customers or clients that are a poor fit, even if we do manage to get any. Being who we are and stretching within that, is the best tool we have.
It doesn’t mean we don’t have to learn marketing skills. We do. But we learn skills and methods that are in harmony with our personality. When we stretch, we don’t go outside who we are, we simply extend our strengths. Over time, we become a new person, but it is a magnification of the best in us, not being rebuilt in someone else’s image.
You do have to step outside your comfort zone. But you still do it by being yourself. You don’t do it by trying to be someone else. The Lord has blessed us each with strengths, and expects us to use them. In order to use them successfully in business, you have to identify them, and then magnify them in ways that help you in reaching your goals. When you look at your business vision, and your marketing plans, make sure they are things you feel good about. If they make you feel a bit slimy, they are NOT right for you!
When getting help with marketing, the first thing any marketing coach, or consultant should do, is get to know you, and to get to know your business vision. If they don’t seem to be “getting” that, then they are not going to be able to help you market successfully, because they won’t know who you are trying to reach, and they won’t understand what really differentiates your business, because 90% of the uniqueness of your business IS you, and your unique way of doing what you do. Good marketing assistance is personal, and personalized. It isn’t a “system”, and it isn’t about making you into them. It is about drawing out what is best in you, and using that as your marketing strength.
Check out our new Cottage Industry Consulting and Development services at CottageIndustrialRevolution.com for personalized help in learning more effective marketing skills for YOUR business.
Deception In the Numbers
I have a thing about deceptive advertising, and deceptive promotional practices. Lately the news media has taken up the drum for various causes, and is using age old deceptive practices in the reporting of the news.
The latest one is in jobless numbers. “Jobless claims fall for fourth straight week”, the headline said.
Makes it sound like fewer people are claiming unemployment benefits, right? Wrong.
Turns out this is only the number of NEW claims that has declined by a very small amount (about 1/1000 of 1%). This means that the RATE OF INCREASE has slowed some. That is all.
Then they reported the numbers of continuing claims – and stated that the difference between this time this year, and this time last year, is good news. Down 2 million! Of course, there is no mention of the fact that in the last month or two, claims have simply run out for millions of unemployed Americans. Further, the number does NOT include people who have moved from initial benefits to extended benefits – so it isn’t even a true number on total people receiving unemployment benefits! They don’t release those numbers. They only track the initial claims, and the initial continuing claims!
So, with partial numbers, they are crowing that jobs are returning. There is no differentiation between people who got jobs, and people who moved either into extended benefits, or simply dropped out of the unemployment benefit pool altogether, but who still do not have jobs. And overall jobless rates have always been inaccurate anyway, because the only people who are counted are those who are registered with state employment agencies as actively seeking work – if a person has given up, and is not reporting weekly, they simply are not counted. Further, temporary JOBS are counted, but temporary unemployment is NOT.
Census jobs are skewing the numbers also. They have nothing to do with the economy, they occur every ten years on a planned schedule. They are very temporary jobs, and will have no lasting effect, and do not in any way reflect any positive economic change.
It would be like measuring sugar consumption in the US by measuring the number of bags of sugar sold at the grocery store. We could say that if the sale of bagged sugar fell in the retail markets, that sugar consumption is down, while ignoring sales of all other packaging of sugar, and ignoring increases in the sale of soda, cookies, candy, etc. It is disingenuous, and deceptive.
I get the feeling that the media is trying to tell us that things are better so that we’ll believe what they say, regardless of what is really happening. The amount of deception over the economy is appalling, and is happening across the board, with numbers being falsely labeled. Somehow, the media thinks that if they tell the American people often enough that things are fine, that we’ll believe it, even when our neighbors are still struggling and losing jobs, and even though our own jobs are in peril, and our businesses are facing unprecedented challenges.
I’m not a “doom and gloom” kind of person. But right now, we have to be realistic about what is happening. You cannot stay prepared and make sensible decisions when the information on which you need to base some of those decisions is false.
There are people who need the help of kind neighbors, and by being prepared, we can be givers, and not takers. Deceptive reporting is not helping anyone to achieve that goal.
One of Those Nightmares
She bought the software on a Thursday. On Friday, she bought the Installation Service. Normally, I’d expect to spend about 2 hours in tech support for the software purchase, and about 4 hours on the installation service. Reasonable for the cost of the two items.
I had the initial part of the work done within a few hours, while juggling it with other things. Then we ran into an issue with her hosting account. She was using a Reseller Account, and we were installing Automation software. The server had a setting which was incompatible with our system. She asked the host to change it. They said they did. But it wasn’t changed. She asked again. They asked which site she wanted it changed for. She said all of them – she needed new accounts to have that setting automatically. They said, “This setting has the name ‘protection’ in it. It exists to protect the server, if we turn it off, something will be unprotected.”
So their final answer was, “no, we can’t change this setting, because it exists, and says protection, so we have to leave it on.” Never mind that the setting doesn’t really protect anything serious, and that situations under which it would be an issue are very isolated. Every hosting company we have ever dealt with, up to this one, has had this setting off. This company left it on, out of paranoia, not out of any understanding of what it actually was. The weekend occurred during the exchange. By the time they concluded this, we were four days into things.
So she had to move hosts. She moved to our hosting – she got better help doing so that way, and we KNEW the software would all work there. Moving the sites took a day.
We had to change all of the file settings on the files since the old host required different settings than ours. When we did so, we found there were also a series of file ownership problems – we had to have support reset those on all of the sites, then we were able to reset the file permissions.
Then we had to reset her domain nameserver IPs. Turns out her old host had the domain name, and she had no controls for it. He promised to set them. They took a LONG time to resolve. She could not check them, or change them. So she moved the domain to HER reseller account in eNom. When she did so, ALL of her domain settings were lost. And eNom did not want to help her reset them. Two more days were lost.
We were trying to move the SSL certificate, but since the domain names were not resolving, that wasn’t working either. She also had bought a new SSL certificate (she did not like the way the old one displayed), and she bought a business verified one. Then she could not verify the business entity, because she is a sole proprietor with a DBA that is unregistered (this is legal in many places). So she had to ask for a refund and buy another one. We went the “quick” way, ordering it through our hosting supplier. But then we could not verify the Whois info, because she had Private Registration turned on. Her domain name, at eNom, could not be changed, and she was unable to access support from eNom, because they kept telling her she was not a reseller. We tried several tactics, a few workarounds, all of which deadended.
Our hosting support finally helped us get the domain settings correctly changed – turned out they needed an odd format to them to stick. They also allowed her to screenshot her account info for verification of her registration info to get around the Private Registration issue. That took another day to figure out. Another weekend intruded.
The domains resolved, the SSL working, there were still two errors in the billing software that operated alongside the automation software we were installing. One stopped hosting accounts from being created, the other caused a template error on the frontend of the site.
The billing manager support people solved one of the errors, which was replaced by another. They claimed they were not responsible for the template error – turns out they WERE, since she had purchased the template from them!
So we are now a week and a half into a process that should have taken only a few hours, and we still have two unresolved issues. Even with moving hosting, we should have been able to do all of this in about three days. We are both beyond exhausted, and tired of just “one more thing” cropping up as soon as the current hurdle is overcome.
I Want a Refund Because I’m an Idiot
We sell several pieces of software. We have an “It’ll Work” guarantee. In other words, if we can’t get it working for the customer, we’ll refund. We don’t refund in other circumstances – because software is copiable. Sadly, there ARE unscrupulous people who will download software, demand a refund, then use or distribute it (we’ve encountered them, and found them to be some of the nastiest people we have ever met). So in order to get a refund, we have to have tried, and failed, to get it working for the customer.
We don’t give refunds if the client says they tried and won’t let us try. User error is too high. We don’t give refunds if someone says, “I thought it did THIS” when our published documentation clearly states that it does not. And we don’t give refunds for terminal stupidity either. I know, that is harsh. I think I’m in a harsh mood today.
Two weeks ago, a client bought an auto-installer from us. He was hollering to us within minutes that it did not work, and that we did not give him instructions. Now, please note, that the software comes with a QuickStart Guide. 17 pages of instructions on how to set it up and use the software.
To set up the software, you have to do several things:
1. Create a sample install, and bundle the files to load into the installer.
2. Change the filenames in the installer config files, to match the names of your site files. (There are TWO names you have to change in several places, that is all).
3. Name the folder the same name as the Product ID in the shopping cart, and put the config and site files into it.
4. Upload that to a specific spot on the server.
He was crying about not having instructions, so I simplified the instructions in the manual, heavily shortening them for the support ticket response. He then asked me why those instructions were not in the manual (they were, and they were clearer there).
He made it clear that he HAD downloaded the QuickStart Manual, but that to him, it was deficient in some way, while my less helpful support ticket instructions were somehow superior to it (it was clear he simply did not want to read it).
He then said it was still not working. I looked. NOTHING had been done. He had unzipped our software, loaded it to the server, and wondered why nothing was working! He hadn’t set up a THING.
I gave him more instructions. He complained again. But got a little further. Several more complaints later, I finally went in and finished the job, performed a successful install, and sent him the URL for the install. Mind you, all that was wrong in the first place is that he didn’t follow instructions, and never finished the setup.
He replied a few minutes later that he had found the reason why it wasn’t working, and was making changes. He then blitzed my fix, and deleted all traces that a successful install had ever occurred. But I didn’t know this until he began hollering at me again two weeks later, demanding a refund.
The software worked on his system. What didn’t work, was the customer. I’m not sure if he could not read, was too lazy to read, or simply wanted to try to bully someone else into doing the work for him. I don’t think he has enough technical smarts to be successful at what he wants to do, because he doesn’t seem to have a grasp on structures and processes that he needs to have.
Anyway, I explained that it had been working.
He said that since he had not seen it, obviously it had never worked.
I told him I’d set it up again.
He told me he wanted a refund. Refused to even answer about the offer to fix it.
I told him his situation did not warrant a refund, but if he provided the install files for the site he wanted installed, I’d set it up for him again.
He then began threatening, in no less than three emails. He’d report me to the BBB (that’s a joke, so no threat there), he’d tell everybody how horrid I am, unless I gave him a refund or the upgrade to the version that is 3 times the cost of the one he paid for, and the “full manual”.
My response was to ask him why he did not want me to fix it, that I could have it fixed within half an hour.
I also informed him that if he did choose to blacken my name, I’d remove any sensitive info from the support emails, and make those public, so anyone who wondered whether he was telling the truth or not could judge for themselves. (Anyone who saw his frank stupidity would know that we had honored our agreement fully.)
I added that the Technical Manual had NOTHING in it that pertained to the version he had bought, it only had info for the Full version, and that the Full version would do him no good since it worked the same was as the less expensive version, which he had been unable to figure out. I finished by telling him I refused to be blackmailed by threats into issuing a refund against our policies, or into giving him a free copy of our expensive software.
His next response was by email – apparently in an attempt to avoid saying anything else on the support ticket that I could make public! He demanded that I fix it today or give him a refund. I informed him that he’d have to send me the files (which I’d already told him three times previously). Not sure what his response to that will be.
There are those who say, “just give the refund”. But when someone starts trying to blackmail me, and when they are clearly NOT entitled to a refund according to our terms, I don’t feel it is wise to give in. We created our terms very thoughtfully, and for sound reasons. Those reasons are to protect one of the pillars of our business from theft and fraud, and are as important as avoiding a dissatisfied customer.
I have given free upgrades to dissatisfied customers who were having problems we could not immediately solve when the less expensive version was new and all the bugs had not been worked out. But this time I knew it worked. I knew there was no problem with the software, and this guy was not being honest, or even rational. He gave me every reason to believe that he was in fact, just trying to scam me. So a refund is not an option.
If he does send the files, I will be documenting every step with screenshots, and with witnesses. And he will be informed that if I have to fix it again, I will charge him for it.
I hate dealing with unpleasant customers. But I am WAY beyond the point of feeling like I have to grovel and MAKE them satisfied, because frankly, it is impossible to do that with many people. Instead, we have written good, and very fair policies, and we stick to them. When people get unpleasant and expect to be an exception, we stick to the policies anyway. They have a purpose, and if we let people bully us into making unwarranted exceptions, we aren’t helping them, or ourselves any at all.
UPDATE: Client did not provide the files necessary to set up his installer. So I duplicated one of my own installers for another system (he wanted ZenCart, I used Joomla), put that into his hosting, and the installer again works perfectly. I documented with screenshots, so I can prove that it does indeed work.
Two Software Releases for VirtueMart
We just released VirtueMart Flex Tax, and Authorize.net SIM Flex Payments for VirtueMart. So what is new and special about these add-ons?
VirtueMart Flex Tax started out as a means of calculating Canadian Taxes. There is another option out there for this, but it is clunky, overly complicated, and requires modification of way too many site files (this makes sustainability difficult). The use is also overly complicated and unintuitive. We also had US clients that needed VM to do things that it did not do. VM Flex Tax was designed to elegantly handle a range of tax computation limitations in VirtueMart.
Rather than developing a “Canadian Tax Patch” for VirtueMart, we developed a Flex Tax add-on that addresses all the needs we saw in VM. Instead of saying “We need to handle Canadian Taxes” or “We need a solution for Florida or Chicago Taxes”, we started with functional needs. We identified four needs types:
- VirtueMart did not allow multiple level taxes. In other words, you could not do a Country Tax, and then separate State Taxes, and then City Taxes to easily and elegantly handle many levels of taxes without having to set up combined taxes for each location (some laws require a breakdown in tax readout on checkout). So we wanted to be able to set a global Country tax, then State or Province taxes which would add to the Country tax, and then a City tax if needed, so we had a flexible three tiered computation.
- VirtueMart did not allow proper control over how the taxes were charged. It offered “By Vendor” and “By Purchaser”. Problem with that, is some locations require that taxes be charged by the billing address, some by the delivery address, and some by both (Florida and several other states do this). So we expanded those options to cover all the bases.
- VirtueMart did not handle shipping taxes in any way that was actually useful for most store owners. Most states that charge tax on shipping require that it be computed on the same basis as the product taxes, but VM was simply not capable of being bullied into this basic logic (it only allows you to set a single tax rate for shipping, and won’t charge a different rate by location of the buyer – and it only allows you to charge tax on shipping at all if the tax computation is set to Vendor based taxing!). So we added in the function to choose “Same as Product” for shipping tax computation. Because we did not want to lose any function (in case anyone actually needed the convoluted method that VM currently provided) we also added in an option to preserve the previous function.
- VirtueMart had a single tax readout on checkout. Many areas require a breakdown of the taxes charged in the readout. Previous coders who provided solutions for this required that you use THEIR VM template to achieve this function. Our coder (brilliant guy, really!) did not use that method, but coded the function into the core files, so it works with any template.
This new add-on provides function for a wide variety of situations, in the simplest possible manner. It was designed to allow you to pick and choose the functions you need, so that you can use them in almost any combination, to meet the needs of US and Canadian taxes, pretty much no matter where you are.
Our second release is the Authorize.net SIM Flex Payment Module. Authorize.net offers two ways of processing payments. The standard method collects CC data on YOUR site, then transmits it to AN. This provides PCI compliance headaches for small merchants, because the security burden rests squarely on them. The AN SIM method of processing payments transfers the customer to AN before any CC data is entered in, meaning that AN assumes the risk for all PCI compliance (this is the same method used by PayPal standard). This is a huge financial relief for very small merchants.
We discovered while researching options for this kind of module, that many other CC Gateways offer “Authorize.net Emulation Mode”. This means that we could code a single module, and have it work for more than one gateway. We have simply added new Gateways as our clients have requested. It currently supports:
- Authorize.net
- Eprocessing Network
- Internet Secure (Canadian)
Again, our coder approached it from a very elegant coding stance, and simplified it so that it requires minimal user complexity.
Developer licenses are available for both modules, allowing installs on unlimited sites.
FaceBook LESS Effective for Business than Ryze
We used to love Ryze, before it fell. Now it is not trafficked enough to be worth spending time there. But it sure did work. We got probably 2/3 of our business from relationships on Ryze. Because they were all business, and predominantly startups and WAHMs. A high concentration of a very effective target market.
FaceBook has been much less successful. It takes more work to get fewer responses. Because it is a mix, it is like shouting to the whole world, instead of being able to talk quietly to people who are interested.
There are those who may disagree with me, but you really can’t just establish a presence on FaceBook and be yourself, and get business from it. You could do that on Ryze.
On FB, you have to plan and work very hard at targeting, and attracting people, and then the majority of them are not interested in business relationships. It is a very scattered approach to promotion, and you can only narrow it so far by using Pages or other features, because FB was not intended as a marketing venue to begin with.
I’m not suggesting that FB is not worth the effort. I think it is. But the return rates for my time are far lower than they were on Ryze. Perhaps 10% or less.
Sadly, Ryze is a dead duck, and there is nothing out there that comes close to replacing it. It worked for a number of reasons, and while many Ning sites have tried to duplicate the function, they have yet to provide anything that is convenient to use and effective. Instead, they require a good deal of inconvenience to use them. One reason Ning groups hang around the fringes of social networking, but rarely become anything more than fringe sites.
The small business, WAHM, Startup, and side business market is not being effectively served online at this point. It is a huge niche, waiting to be plumbed. Ryze had it, then lost it, and most of them are still fumbling around trying to make other systems work, without the ability to use a system tailored to their needs.
So we keep working at FaceBook. And we keep missing the effectiveness of Ryze.
Update, 2013: A few people I knew from Ryze have “gone back”. But they seem to do so out of stubborn nostalgia, rather than any amount of effectiveness. Ryze is still dead, except for a few thriving groups that seem to serve networkers from Asia.