HOME     SITEMAP     RSS     TWITTER     EMAIL    
Search:   

FollowSteph Follow Steph as he posts Blog Blazer Friday
 
 

Archive for the 'Business' Category

Interview

Ben from StartupSpark.com just posted up today an interview he did about me and my company LandlordMax. It’s a great interview, and I’d especially like to thank Ben for taking the time to interview me. As well he had some very complimentary comments about the interview:

“Stephane understands what it takes to be an entrepreneur. When I ask him about competition, he hits the nail on the head. When I ask him about what it takes to start a business he demonstrates incredible passion. You’ll have to read the interview to see what he says.”

Thank you Ben for those amazing comments!

Just an extra little note, for those of you who aren’t familiar with Ben’s blog StartupSpark.com, he’s been doing interviews with other small software vendors and getting their take on what it takes to make it. There’s some really good interviews there, I personally got some great nuggets of information from all of them. One interview that I particularly liked was with Ian about his company HelpSpot. So go check it out, there’s lots of good information.






Interesting Marketing/Sales Technique

This week when I was in the Tim Hortons drive through line, a very very famous Canadian coffee/donut chain, and I noticed something very peculiar. When I got to the order kiosk in my car, a very friendly voice greeted me and talked about their latest breakfast ordering. Nothing out of the ordinary, the tone of the voice might have been a little more pleasant than usual, but nothing too unusual. Anyone whose ever worked as a cashier knows that after saying “Hi. How may I help you” many times over, that you get a little less enthusiastic with time. Anyways, like I said nothing too too special, so I went ahead and proceeded with my order. However once I had finished another voice came on to give me my total and tell me to drive forward.

That was odd. At first I thought maybe I was in the middle of an employee shift change, or that maybe I had missed something entirely. However because my car window was still opened when I drove up, I could hear the next car as they drove up to the booth and the same very friendly voice started with the exact promotional description of their new breakfast menu item. The person ordered, and again the second voice came back to give the amount and tell the person to drive forward. Then as I moved up further, although I could barely hear, I did notice the same pattern again.

What’s interesting about this is that it’s the first time I’ve personally seen a company use an automated greeting at a drive through (I’ve heard of order being taken in another country, but not an automated greeting). But what’s VERY interesting is that it seems to be very effective! Why not do this? Firstly you’re guaranteed that every single drive through customer will get a very pleasant greeting. Second, you know that whatever you’re trying to promote will be promoted. Thirdly, you will get exactly the corrent content and tone you’re looking for, it will be a professional voice. And lastly, other than a few people, no one will really notice it!

Now the question becomes just how effective is this technique? I don’t know, only Tim Hortons knows this. But from anecdotal evidence, I can say that the last time I was at Timmie’s (as it’s affectionately nicknamed in Canada), I saw many people ordering this new breakfast menu item. Possibly it’s due to TV commercials, possibly to other marketing avenues, but this definitely can’t be hurting its sales conversions.

Even if it isn’t that effective, the cost of using this technique can’t be very expensive! And as a worse case scenario, you get a consistent and standard greeting that’s guaranteed for all locations. It’s great to see companies trying and testing new marketing techniques in the wild. I suspect this one will become more and more common with time, at least until it’s overused.






School Versus the Real World

Back To SchoolMany years ago when the movie Back To School originally came out I remember laughing quite hard when Rodney Dangerfield’s character Thornton got NASA to do his Astronomy homework for him. If memory serves me correct, he also got the a famous author write an essay about his own book for his English class as well. Of course this was funny, how could it not be.

Although funny, according to the academic world this is wrong. This is what’s called cheating! Having someone else do your work for you. It’s a simple black and white case, he didn’t do his own work, someone else did it for him, therefore he cheated on his assignments. This is looked down upon, and it’s easy to see why. If you don’t do the work you’ll never learn the material. Very simple.

Now in real life the opposite is true. You need to do some of the work, but those that get ahead generally have teams do many of their work for them. For example, if you buy real estate, you often get your real estate agent to process the paperwork for purchase of the property, you don’t do it yourself. You get a mortgage broker to prepare the financing for you. You might also get a lawyer to do some of the work. Maybe you also have a property manager to manage your property. In the academic world, this would be considered cheating because someone else is doing the work for you.

In business the same is true, otherwise you’re really a self employed person (or employee)! If you’re employed right now, what are you doing? Someone is paying you to do their work for them. Think about it! Every employee is doing work for someone else. In the academic circle, this would also technically be considered cheating.

The reality is that the academic world teaches us to do everything ourselves, to learn how to do everything ourselves. To balance our check books ourselves, to run our finances ourselves. In the real world, and especially in business world, the opposite is true. In business we’re often thought to get a team to help us. And I can attest that starting a business without an initial team in place is much more difficult. A team can make a big difference. Getting a good accountant, a good lawyer, and so on really does helps. But what’s more, you generally need members on your team that have specific skills that you might be lacking such as a graphics design, sales, marketing, software development, team management, accounting, etc.. Getting a software product like LandlordMax out the door requires more knowledge and skill than any one person can have.

The other week when the movie Back To School played as a rerun on TV, which by the way was the inspiration for this article, it really made me think about this. I realized that since I’ve starting my company LandlordMax over four years ago that my reality has changed. Yes the movie was still good, but what really caught me off guard is that I no longer found this joke as funny. Actually quite the opposite, I think it was a great move by Rodney’s Dangerfield’s character Thornton. It really showed his business acumen! He couldn’t be successful in business without assembling at least one good team, which is why he quickly went ahead and got NASA to do his Astronomy homework.

In some way, it really made me appreciate the difference in realities different people have. Why we don’t all think the same. Successful business people often look at assembling a good team first whereas the average person tries to do everything themselves because this is what they’ve always been thought. There’s nothing wrong with this, but without leveraging other people’s skills and time, you can’t get further ahead than the number of hours you have in the day. It’s a simple reality, a simple difference in the way we perceive our worlds, but it has a large implication in how we’ll go about living our lives.






A Large Monitor is Actually Cheaper Than a Small Monitor

No matter where I go, I always see it. Every company that I know of, with the exception of a few companies, are more focused on saving pennies by getting their employees the smallest monitors possible that they can get away with. Why? Because they don’t believe that a larger monitor is worth the investment. But then again I also see many of these same companies skimping out on hardware for the same reasons. The bad news for them, good for me, is that studies have shown that larger monitors do significantly increase productivity as shown here, here, and here.

The reality is that the extra costs to invest in a better monitor, or better hardware, will generally be returned to you in multiples. I personally work on the Dell 24 inch widescreen LCD monitor right now, and I can’t rave enough about it. The only complaint I have is that it’s not the new 30 inch LCD widescreen monitors that Dell now has available!

But really, the reality is that I’m so much more efficient on the larger monitor that the time saved makes incredible sense for me. Comparing the price of a 17 inch, or even 19 inch monitor, yes I’m paying substantially more. But you know what, I’m also a many more times more effective!

But the real question is just how much more effective? Well let’s break down the numbers, there’s no better way to determine the value than looking at the bottom line. At this time of writing, a 24 inch Dell wide screen costs $800. An equivalent quality 17 inch monitor can be had for as little as $150-200, so let’s use the smaller number of $150. Therefore the price difference is $650. All I need to do to justify the extra cost is find $650 of value over the lifetime of the monitor, which we’ll assume is at least 3 years (probably more). Breaking it down even more, all I need to do is increase my value by $650 / 3 years, or approximately $213/year. That shouldn’t be too difficult! In reality, I’ll get a LOT more value than $213/year, not counting the joy of using it!

Ok, so let’s look at the value. Below this paragraph you can find three screenshots of the Jakarta Struts project in Eclipse. The first at 1920×1200 resolution from my 24 inch widescreen monitor. The next one with the same screen settings showing the coding section truncated, and the last one how it would normally be displayed at 1024×768. As you can quickly see there’s a huge difference in screen real estate space! If I was just using Outlook, Word, or even an internet browser, it wouldn’t make that big of a difference, but for programming purposes it’s a very large difference.

24 Inch Widescreen

1024x768 Same Size

1024x768 Fit

For those of you would aren’t as familiar, let me walk you through the screenshots to give you a better idea of the real estate value. On the left we have our project structure (almost like Windows Explorer). When programming, you separate the code out into logical files to make your life a LOT easier. Therefore you’re always referencing this panel all the time. And sometimes it can get quite deep, with many nodes on the trees as you can see in the screenshots), so it can take some space (much like if you have many directories within directories on your computer).

After that you have your console on the bottom panel. This panel is also use a LOT! This is where information from your program is outputted. This can range from debugging (sending out diagnostic information to the panel while the program is running to give an idea of what’s going on), to bigger things like displaying program error message, etc. The more space you have here, the more diagnostic information you can display, otherwise you just end up scrolling the panel a lot.

Next we have the optional Outline display on the right. On smaller screens this is often omitted because there just isn’t enough space, even though it’s very handy and helpful. What it does is give you a succinct list of all the methods, properties, etc. of the class (or classes) within the file you’re currently editing. This might not seem like much, but imagine if you have several hundred lines of code (best of luck if it’s thousands) and you’re looking for a particular method? Instead of always having to scroll through the code or doing a search for the text, you can quickly see the list and just double-click on it to move your cursor there in a second.

Lastly, and by far most importantly, is the main panel in the center. This is your programming code! This is where you will spend most of your time and where you want to see as much as you can. Often an algorithm will be spread across a decent amount of lines, possibly over several pages (multiple methods, etc.). The bigger this space is the better! I can’t stress this enough. Think of it as a working piece of paper when drawing plans for a house. The more you can see at once, the better off you are!

As you can quickly see from the screenshots above, with a smaller screen you have to start sacrificing space right away to be able to see everything at once. And don’t think that you mainly use one panel at a time, you generally move around between the different panels very frequently as I’ve just described. It’s much like driving, you look out your windshield, then your rear view mirror, your speedometer, and so on. Always moving your eyes around as you need to get more information. The same is true when developing.

That being said, if you look at the amount of real estate space on the smaller monitor, you have to make a lot of sacrifices. Going back to the car analogy, you don’t have the dashboard space to see everything at once, so you have to cut into some of the information. So for example, you can only see half of your speedometer (showing only the most common speeds in that window). You can only 1/4 of your rear view mirror, so pick the most advantageous spot. You can only see out 1/4 of your windshield, so definitely pick the area directly in front of the driver’s side, near the center preferably.

So right away, you’re limited in information, you can’t drive or program at nearly the same speed. The good thing though is that you can resize any of these windows as need be, but each time it costs you time and you have to sacrifice another panel. So for example, if you want to see out of your complete windshield, you can’t see any of the other windows (rear mirrors, speedometer, etc.). You can also just partially increase the size of any one window but you must also relatively decrease the size of the other(s) to compensate. As well, each time you adjust the size of a window, it costs you time. For programming, this means you have to move your hand to the mouse, adjust the size, etc. It might only be 2-3 seconds, but do this hundreds to thousands of times a day and it quickly ads up; 400 seconds to 4000 seconds – 6 minutes to a full hour!

Each time you make an adjustment, you lose other information, so if you need to move back and forth a lot, you’ll probably lose a little bit of the context. If you spend 1/2 your time adjusting the sizes of the windows, it’s easy to quickly forget simple details such as the speed you’re driving at, which means another adjustment, lookup, etc. This ads up.

Assuming your programming pretty consistently (ignoring things like attending meetings, being tired on Monday, etc.), I’ll use the one hour metric for our calculations, and then I’ll follow up with the 6 minutes to show that even that’s worth the return on investment!

Ok, so getting back to our calculations, assuming about 200 workdays, and assuming 1 hour is lost each day, that represents 200 lost hours of labor. But before I go on, I’ll just take a minute to talk about the cost figure I’m going to use for a developer hour. In a previous article I used $1000/day per developer, which caused some people to comment that this was too high. The reality is that this isn’t too high from the businesses perspective, this is the cost of a developer. The developer won’t receive $1000 in salary, they’ll just receive a portion of that. What you have to remember is that the business also has to pay for the employees benefits, real estate (for example IBM saved $700 million in real estate costs by having workers work from home), hardware, software, etc. All these things quickly add up!

Anyways, assuming a $1000/day cost for a developer (or $125/hour) , giving that they lose 200 hours a year because of the size of their monitors, that’s a $25,000 difference in cost. So you just lost $25,000 in productivity to save $800! If you like those kind of deals give me a holler, I’m sure I can provide you with other similar great deal!

Now what if I grossely overestimated my numbers, which I didn’t but what if, then that’s 200 days * (6 minutes/day at $125/day) = $2,500. So even at 6 minutes a day, we spend $2,500 to save $800! Wow!

To add on top of this, in the above calculations we assumed our monitor would last just one year (200 working days). So multiply the above numbers by 2-3 times since most monitors will easily last longer than that! You can quickly see how valuable a larger monitor becomes!

To add to this, getting a larger monitor will also make programming much more pleasant to your developers, which means they’ll be more efficient. No you can’t really measure the benefits here directly, but rest assured that they do exist. If you go with high quality monitor, your employees will be less tired (it’s less hard on the eyes), and so on. With LCD’s I also found that it significantly reduced the number of headaches I personally got, so that’s another measurable benefit in terms of productivity.

All in all, as you can quickly see, a large monitor is actually much cheaper than a small monitor when you consider the total value of your purchase. If you only use it to surf the internet, send emails, etc. then you’re absolutely right, there’s no real benefit in terms of dollars. But if you program on it, the return on investment is incredible!






Should We Release Now?

A common question with software companies is when to release the next version of their software. Should it be as soon as enough new features and benefits are available that people will be interested in? Should it be when there’s enough value that virtually everyone will want to purchase an upgrade rather than only a percentage? Should it be every month? Should it be once every year, two years, etc.? This is a very hard question to answer and every software company handles it differently.

Not only does every company handle it differently, but sometimes different releases of the same product/project are handled differently! And this happens to be the case with this latest version of LandlordMax. Normally I only like to release a major version of LandlordMax when we’ve added enough new features that it will excite a large percentage of our customers! If it’s only a few features, we sometimes will just release that as a patch, but I generally like to push features to major releases.

This particular upcoming release will be different than usual in that it’s only been a short time since the last release. Although version 2.12 states that it was released in December, it was actually released in April. That means it’s been just 6 months, which is very quick for a new major release. Is it too soon is the better question! And this is where I’m facing a very big delimna which I’ve finally resolved over the last few weeks.

I’m sure you’re wondering why it was a difficult choice, and I’m going to explain why right now. In the upcoming version we’ve added several features that have a major impact on how people perform their daily tasks. One of these features is the “Late” button shown in this animated tutorial. Although this is just a simple button, the amount of effort it will save some of our customers is significant. Another small feature that has large implications is that when you now create a new lease, a scheduled accounting entry will also automatically be created for you. The more tenants (ie. leases) you have, the more beneficial this quickly becomes. For some of our larger customers with hundreds of tenants, this is a huge benefit!

On top of this we’ve added many other features. I don’t want to divulge everything yet, but another major new feature is the ability to create, store, and print receipts. This is a whole new section that many people requested. We’ve also added date formatting, some preference settings, etc.

As well, we’ve done a lot of very significant performance enhancements. Between version 2.12b and version 2.12c we initially did some amazing performance enhancements, as much as an order of magnitude faster for many screens (that’s 10x faster performance!). Well in this version we did another order of magnitude in performance for most data and list screens! We ran a test database with over 2000 tenants, over 2000 units, over 5000 workorders, over 5000 receipts and invoices, over 50,000 accounting entries, and all the related data. I can assure you that the larger your database, the more significant the performance enhancements! Some screens have improvements where the display is virtually instantenous for larger tables (under 1/2 second)! We’ve improved the speed of the UI (User Interface) and the database calls (which I’ll probably write about the later very shortly). All in all, there are some very significant performance enhancements in this upcoming version!

Now you’re probably still asking yourself where’s the dilemma? The dilemma is that we wanted to add two other new and very powerful features for this upcoming version. The problem is that neither of these features is going to be ready for at least 2 more months. So do we wait 2 months for these two features or do we go ahead and release now with all the great features and benefits we’ve already implemented?

You still don’t get the dilemma? The dilemma is that if we release now, we might now also want to release the other two great features in 2 months. Releasing major versions too often will annoy your customers! Nobody wants to be upgrading every other day. So if we release now, then when do we release the two other major features? In case you’re wondering, these are very highly requested features, so I believe they will have a significant impact on sales and customer happiness.

So we can postpone the release for 2-3 months, which means we lose revenue (opportunity cost) as with every new version, every new features, we increase our sales. If we release in 2-3 months, I personally believe that these two new features will generate additional significant sales by themselves! So we want those in sooner than later too. So if we release now, do we push those features to the next major release to avoid having too many upgrades and annoy our customers or do we release them in 2 months? Which do we do?

As well, each release has technical support costs. Although our upgrades are fairly easy to do, all you need to do is re-install the software overtop the old one (the database is automatically converted for you), many of our customers still require technical support. What you have to understand is that many of our customers aren’t all technically literate (we do offer the easiest property management software after all!), which means it will convert to some extra technical support costs for us. This adds to the equation in that more releases is more expensive.

So just to recap as this is fairly complex, here are our three choices:

1. Release today missing two major features. Re-release again in 2-3 months as another major upgrade (knowing that people don’t like too many new major releases, and that there will be additional technical support costs).

2. Release today missing two major features. Push the 2 major features into the next major release several months away, even possibly as long as a year (and lose the additional sales for that time).

3. Release in 2-3 months and withold all the great features we’ve already built. This also means we’ll lose additional sales during 2-3 months.

As an extra factor, September to April is our busiest time (they’re multiples of the rest of the year). So these 2-3 months are right in the middle of where we make most of our yearly revenue! This means that 2-3 months is actually like 6 months for most businesses!

Which would you choose? I personally opted for option 1. I’m willing to absorb the extra support costs that come with each upgrade because I think the additional revenue during our busy season will outweigh them. I also believe that we shouldn’t hold back our current features for these two other features, no matter how great they are! I don’t care if they’re pure gold, we already have so many highly requested features that I’d like to get them out there now rather than later. The other two features are important enough to me that I don’t want to wait until another major version, I’d rather release them as another upgrade in 2-3 months. They’re big enough to warrant an upgrade rather than a patch, but I’m not willing to wait for the next major release.

Which option would you take with these assumptions?






Record Day!

I thought Tuesday this week (October 24, 2006) was a great day, but it turns out to be greater than I initially thought! We broke and tied many records that day, both LandlordMax and FollowSteph:

LandlordMax:

  • Broke our sales record for the most units sold in a single month (and there’s still a week left).
  • Broke our sales record for the most revenue in a single month (with upgrades, etc., the number of units doesn’t always directly correspond with total revenue).
  • Tied our one day sales record for the most units sold.
  • Broke our one day sales record for the most revenue.

FollowSteph:

  • Broke the record for the most unique visitors in a single month (and there’s still a week left).

All in all a great day. I initially knew we broke the sales record for the month but I hadn’t realized we also hit the daily sales records too. Not to mention FollowSteph’s traffic growth which has been growing at a pretty consistent 20-30% a month average for the last year almost. Tuesday was a great day!






Business versus Technical Solutions

Last week I published an article here entitled “LandlordMax’s Most Challenging Bug” which received lots of comments both online and through personal emails (probably more people sent emails than commented). One thing that really struck me was the difference in thinking between people who run a business (from small ISV owners to managers) and technical people (developers, architects, etc.). Based on their background the solutions varied substantially. I’m not talking how to tackle the problem technically (btw there were some great tips and information being shared, thank you!), there was no doubt there was a lot of variation here, but I’m talking in terms of what types of solutions made economical sense.

What really struck me is that most developers completely ignored the cost to benefit side of the equation! I’m not saying that you should always base your decision on cost to benefits (I don’t want to acquire design debt for example), but sometimes this becomes a strong factor in the decision making. This is something that I use to lack, I always wanted to get in there and find the correct technical solution. The reality is that sometimes it’s not the right thing to do. This is a hard pill for technical people to swallow. I know it use to be for me. Not so much anymore being a lot more on the business side of things, but in the past it was a common issue.

Using my last article as a basis for this argument, let’s look at the cost to benefit of different types of solutions. Not actual solutions, but cost to benefits of the types of solutions. Rather than share my actual numbers, let’s just round realistic numbers to make the calculations, it’ll be much easier that way. So our first assumption is that allocating a developer to a task for 1 full day will cost $1000 in immediate salary. We should of course add in the costs of benefits, hardware, software, training, testing, etc., but for now let’s just say it’s $1000/day for a developer. Now remember this cost does not include any testing!

Ok, now I’ll assume that our fictional company makes $1 million in revenue a year, a simple round number. Assuming we have a unit price of $150 per unit, then this means we sell 6667 units per year.

Now before I proceed, let me backtrack a little. For those of you who are interested, you can read the full article here. However, just to get everyone up to speed, here’s the quick version. We found a bug in LandlordMax regarding how it reads certain types of JPG images. This bug is also present in many larger software application such as Internet Explorer and FireFox, so it’s not a simple solution. Also, images aren’t part of our core functionality. Don’t get me wrong, they’re a great feature, but we didn’t have them in the first 3 major versions. Now the problem is that we have two solutions, one that’s quicker to implement and one that isn’t. This problem only affects 0.05% of our total customers, and of those 90% will be satisfied with this solution. The other solution is complex, will take more than a week or two, and probably won’t fully work (IE and FireFox with very large resources still don’t have it full working). This solution will satisfy 90% of those customers too, possibly more.

Using these parameters, we can see there are two sides to this coin. Most technical people will want to fully solve the issue, to get it right. Yes the costs are high, but let’s do it right. The business side want’s to see what’s the cost to benefit. Now just a quick side step, you have to remember that you can’t always just look at the cost to benefit otherwise you’ll get so far into design debt that you’ll eventually kill your company. However, in this case, we’re not very likely to expand on this issue once it’s solved so it’s very unlikely that we’ll add any design debt no matter what solution we decide.

In any case, let’s look at the two solutions.

Solution 1:

An acceptable solution to the problem which will take about 1/2 a developer day, padded to 1 full day for safety. In this case, the cost is $1000. Now if we calculate it terms of cost to benefit, it means we’re paying $1000 for 0.05% of our 6667 customers, or 333 customers. On average, this means that we’re paying $3.33 to add this solution for these customers, of which 90% will be ok with the solution. The remainder would like a better solution but will probably live with it since this is only a small part of why their using the software, after all this is not the core functionality of the software. Also remember that these few people who are used to using this type of image mode also use to having this issue with a number of other major software applications. So it’s nothing new.

Solution 2:

We provide as best a technical solution as we can, knowing that we probably won’t be able to solve it fully as other software companies with budgets multiple orders of magnitude bigger larger than our total revenue can’t solve it. We’d be lucky to spend only a week, probably 2 weeks, and this might only reduce the number of people facing the issue by a percentage. But let’s be optimistic and say that we’ll solve it for 90% of the people who use this image mode.

Then in this case, we’ll spend 10 developer days, $10,000, to solve it. This means that it costs us $10,000 for our 333 customers. On average, this means we spend $30 per customer on this solution alone. This is now a significant percentage of the purchase price (20% of the total purchase price for fixing a small bug). But again, remember that it’s only for 90% of these 333, so we’re only really solving it for 300 people, bringing our per customer solution price to $33.33, or 22% of the total purchase price. We still have to deal with the remainder 10%, or 33 people. Assuming we use solution 1 for the remainder, this now brings up our price to $11,000, $10,000 for the initial solution and $1,000 for the remainder. Our total price per customer is now $33 for just this bug fix, or 22% of the total purchase price.

Which Solution is Right?

Which of these two solutions would you be more inclined to implement from a business side? What about from a technical side?

From a technical side, at least from my experience, we always want the perfect solution. But from a business side, it makes a lot more sence to go with solution 1. And don’t forget, solution 2 is probably a lot more costly than we estimated, it might take us a month, maybe two, or what if it’s a never ending series of issues? If the solution takes two months, which is not so hard to imagine once you see how Mozilla (FireFox) solved it (and that’s not even fully working), that brings our cost per customer to approximately $120 per customer. We’re now at 80% of the total purchase price for just one bug fix that’s not critical! Yes it’s only a portion of the customer, yes we could amortize it, yes we could calculate in the total lifetime purchases of the customer, and so on. But looking at the numbers when the first scenario is perfectly acceptable, I just can’t see how I can justify scenario 2.

As a developer, I can easily find ways to justify solution 2 such as design debt, etc. But from a business perspective solution 2 makes no sense!

UPDATE: Now add to solution 1 the fact that we now have an additional 9-10 developer days to add more features and benefits to the software. Let’s say we can increase our sales by 2% by instead allocating this same developer for the time difference to a new highly requested feature (maybe it’s only 1%, maybe it’s 10%, in any case, we’ll just use 2% since it’s easily feasible). If that’s the case, we can increase our sales of $1 million to $1,020,000, or by $20,000. Now not only have we paid for our bug fix, we’ve also paid for our developer and made a profit!

And the thing to remember here is that we’re not just helping 0.05% of the people (which we are), we’re also making 100% of the all our customers happier with a new feature (well maybe not 100%, but a much much larger percentage than 0.05%) that they wanted!






How to Deal With Email Spam?

Since I already touched the topic of email spam this week, let me send out a question to all of you. How do you deal with overwhelming email spam? Not even counting any of the spam my company LandlordMax receives each day, which I can assure you is an order of magnitude more, I personally get several thousands of spam emails a day! Yes, that’s each and every day. I know some fo you get a fraction of that and others get orders of magnitude more! I can’t imagine being Bill Gates (most spammed person in the world) and dealing with his spam levels (4 million spam emails a day).

What I’m starting to notice is that this is becoming a losing battle. I generally let my email client classify most of the emails as spam and throw them in the bulk/junk/spam (depending on which email client you use this will be named differently) folder. However at least a few hundred don’t get caught, and worse, several do get marked as spam when they aren’t (false positives). This therefore means, because I’m running a business and many of the emails are very important and not just personal correspondences, that I need to sift through the junk folder each and every day. I need to double check thousands of spam emails each day. Talk about boring, and especially error prone! It appears that I miss the odd email here and there (not many but a few a month), which is perfectly understandable from my perspective, but not from those who sent the email (which is also perfectly understandable from their perspective). So what are my options?

I do have several options, and I’ve also been suggested several others, but to be honest I haven’t found a solution that I really like yet. So far the best options I’ve seen are:

Continue the same way
This is where I’m at now but I’m looking for a better solution. This is getting more and more time consuming.

Use Spam Assassin
I’m afraid of false positives! Those are the absolute worse. At least with my current solution I can manually filter them and the blame is on me.

Purchase a commercial email spam filter
Which one? And what about false positives?

I forget the term of this type of product, but it basically sends out an email to everyone who emails you to validate who they are. Then it only allows emails through to you from those that responded to your validation email. So basically its a way of validating the emails you’re getting are from someone and not a bot.
Frank Neville from Surfulater (great product by the way) suggested this option a while back to me (thank you Frank) but I’m not too keen on it (this is probably the only time we respectfully had a difference of opinion on a business related item so far that I know of). I understand it’s working great for him, but I’m still hesitant because of the risks of not having people respond. I believe that the onus should be on you, not the person trying to contact you. If someone is trying to reach you to initiate a business deal, or respond to your request, the less trouble they have to go through the more likely things will work out for you. Much like the easier you make the purchasing process the higher your sales conversions are likely to be.

Just delete all the emails in the spam folder
No way, I know for a fact that I’d be deleting many important emails!

Add senders to my “safe list” (or similar terminology depending on your email client).
Yes, but this takes time. This does alleviate the issue, but only from people who’ve already writtent to you. Initial contacts will still have the same issue, which means you still have to sift through all the junk emails.

So what’s the solution? I don’t know. I’d love to hear your suggestions so fire away!






Is Technical Phone Support a Viable Option for a Software Company?

Yes and no.

Yes, in that it lets you get closer to your customers. There’s nothing quite like talking to your customers one on one to find out exactly what they think of your product, of your company, how they found you, and everything else. Having a phone number also gives some credibility to your company.

No, because phone support is extremely costly. Most people don’t realize it, but phone support is several times more expensive than online support for the same customer base! As well, although it increases the sales, it’s nowhere near in proportion to the extra costs. I now understand why pretty much every software company charges for phone support.

So is it a viable option? Maybe… Rather than debate the hypothetical, I’m going to share our latest experience with free phone support and our prototype project here at LandlordMax. There’s nothing better than a case study! The results might be different for you and your company, but this is what happened for us.

When I first started LandlordMax, I offered support through email only. In the beginning it was pretty simple, I could manage it all through my email client. As the company grew, the support needs grew where we ended up purchasing a customer support system called FogBugz (allowing multiple people to manage support through a web application). As our needs continued to grow and exceeded even this software (we still actively use it for project management and bug tracking, it’s strong suite), we moved up to HelpSpot which is focused on customer service. This is an online system which accepts requests by email, through online forms, etc. All requests are allocated a ticket number and everyone also receives an online link where they can view the details of the request directly online if they want (including every detail, from how long it took to respond, and so on). This is great because it alleviates a lot of the issues with people who have very aggressive spam filters (because we’re a real estate based business, sometimes we need to use words such as “mortgage”, etc., which are often wrongly picked up as spam by email filters).

Because of the way our customer service system works, we’re able to offer free unlimited online support which is guaranteed to be answered within 1-2 business days (generally we answer it on the same day). This is great because most of our competitors charge for ANY support, and some quite a bit! Never mind phone support which I’ll get to in a minute.

About three months ago we decided that we wanted to start offering free phone support to our customers. Up until now, that is for the past 3-4 years, as I just described, we’ve been offering online support only (email, web forms, etc.). We wanted to see if it made a difference, how much, and if we could offer it for free. You see, although I could charge for phone support like our competitors, I really don’t like this option. To give you an idea of the market, most of our competitors charge between $100-200/hour for phone support!!! Some only offer email support if you buy a support contract. Another competitor will only sell you their software if you also buy a minimum support service package of $200! Personally I don’t believe in this. If you buy a product, you shouldn’t have to pay to get some help in answering your questions. I understand there is a place for premium support, for example a guaranteed response within 24 hours, etc., but this wasn’t out goal today.

I also do understand the business behind it, phone support does cost money. And let me assure you, it really does cost quite a bit. Not just in technology or service costs, but in man-hours! Man-hours are your largest cost factor, no doubt about it. Anyways, what we decided to do was offer free unlimited phone support for 3 months as a trial experiment to see if it was a viable option for us. Hopefully by offering phone support this would increase our customer’s happiness, and hence increase our sales. We also decided to use 3 months because it gives it some time to build momemtum As well, perhaps we’d also be able to add some extra sales from people who were more timid about purchasing software from a website and would rather purchase it over the phone.

That was three months ago. Today I know the results. So let’s look at the results of our experiment. Although I’m not going to share the detailed metrics, here’s a summary of what happened:

  • The average time to support a customer increased significantly over the phone versus online support. There’s nothing wrong here, it’s just the way it is. I would say that on average the time spent responding to a customer increases by 2-10 times. This can be attributed to the fact that some people ask more questions on the phone, some wish for you to wait while proceeding through the steps (for example waiting for the purchase email to make it through), sometimes you wish to wait to verify that the customers issue is fully resolved, and so on. Overall I would say this is fairly accurate metric for us.
  • For each person who answers the phone you need to train them in your software. This includes how it works, how to properly answer questions, what the procedures and policies are, etc. To achieve a good support level this is not a small task.
  • With phone support, although we don’t promise an immediate answer (we keep the same guarantee of 1-2 business days), phone calls break people’s workflow, their rhythm. For every break in concentration expect between 15-30 minutes of lost time to get back to the same productive state. With online support this can be drastically reduced by answering requests in batches during breaks, or what we list to call “mental breaks” (where you need to look at something different to give you brain a break). By doing this we keep all support responses in blocks and greatly increase overall productivity!
  • Long distances phone charges do add up… We’re using a VOIP system but that’s also not without it’s own costs.
  • Sales have increased, but nowhere near in proportion to the extra costs (especially if you add in the time costs). I’d say that we’ve barely increased sales by 10% and almost multiplied our support costs by 5-6 times. Therefore it doesn’t make sense to spend 5-6 times more money to make 10% more!
  • One thing that you really benefit from is that you get real live customer feedback about your software. I personally found that when I was on the phone, people told me a lot more about what they liked and didn’t like about the software right away. They also told me what their biggest pains where, which is golden! Which features do you think we’re going to add next? Probably where our customers biggest pains are!

Therefore, weighing in the pros and cons, it looks like we’re going to discontinue free phone support. Actually at this time, we’re going to discontinue all phone support. We’ll probably try it again in the future, things do change, but for now it just doesn’t make economical sense.

I can already hear some people saying why don’t you just offer paid phone support for those customers who want it. This way you don’t have to build it into your price and those that are interested can pay. The reality is that I’ve found that only about 7% of our customers (combined with pre-sales) use phone support. I can’t speak for every industry, but assuming these numbers, and the fact that we’d have to charge, I believe that the total percentage of people who would use paid phone support would drop significantly. Because there is a minimum fixed cost associated to having a call center, we’d still have to charge a minimum fee per call to just cover the costs. Assuming only 10% of the people who use phone support would be willing to pay the fee (I’d guess around $100/hour), then that would mean 0.7% of all customers would use this service. I’m not willing to risk the significant amount of capital it would take (we’d now also have to add a billing system to our phone system) to support 0.7% of our customers. At that point, unfortunately, I’d have to welcome them to purchase from our competitors.

As you can see, it’s not that I don’t want to offer phone support for LandlordMax, it’s just that it’s not a viable option for us. And yes I understand that some people will not purchase anything from a company that doesn’t offer phone support, but that’s ok. I’m willing to lose that very very small percentage of customers. Assuming they’re 10% of the 0.7% of customers willing to pay for phone support, we’d be losing 0.07% of our potential customers.

Therefore, to answer the question based on our experiment, is it viable for software companies to offer technical phone support. Again the answer is yes and no. It depends on your market and who you are:

Software under $100

I seriously doubt you can do it for free. I also doubt you can charge for it either! Unless you have economies of scale and you can seriously amortize your costs, no one is going to pay you the price of your software for assistance! And if you did offer phone support, it couldn’t be more than one call for free at best, if that. I looked up Quicken, a large company that can use the advantage of economies of scale, and they only offer free phone support for installation, purchase related questions, etc. After that, any help within the software (for example how to setup a bank, etc.) will cost you $24.95 per issue, or 86% of the purchase price!

Software between $100-$250

You’d still be hard pressed, but you might have a chance. Of course you could only offer one incident at most, and every additional call would have to be charged. Also if your company is smaller than a medium sized company ($10 million plus in annual revenue), I just don’t see how you could offer free phone support.

Software between $250-$1000

Possibly. Here’s where it gets interesting. I think in this case the industry and specifics of the software will determine whether you can or not. To give you an idea of just how difficult it still is at this level of pricing, Microsoft Office only offers you two free phone support sessions and then they charge you $35 per additional incident, all this for a product that costs $399 for the “standard” edition!

Software over $1000

Generally software over $1000 comes with some sort of SLA (Service Level Agreement). The more expensive the more comprehensive the agreement. Under $5000 it will be somewhat limited, but over $30,000 it becomes generally becomes much more comprehensive (before LandlordMax I had only worked with one company that sold software for under $30,000). Often in these markets there are a limited number of customers, and the vast majority are corporations where phone support is expected as part of the SLA (wouldn’t you expect it if you paid $1 million for a software package).
So all said and done, looking at our cost to benefit ratios, it looks like we’ll have to end our phone support for now. There’s not much to debate about. Like I said earlier, we’ll probably try it again in the future, maybe next year… I don’t know. But for now, we’re going to go back to online support only (email, online forms, etc.). I just can’t justify the substantial extra costs for the amount of extra revenue it provides. This would be like asking a landlord to build a private pool for each apartment unit to generate an extra 10% in revenue. It just wouldn’t make sense, landlords don’t do that.

To quickly end the discussion, since I know some people will ask, do you regret experimenting with offering phone support? Absolutely not! I think every business is different, and every business should try it! You can’t grow without trying. Michael Jordan didn’t just start scoring baskets on day one, he tried a lot of things before he figured out just what worked for him. So try things, test what works and doesn’t for your company. Maybe you’ll have very different results than we did at LandlordMax. Please comment if you did, I’d love to hear about it.






What's the Difference Between a Major Software Release and a Software Update?

As far as I’m concerned, an update should only consist of bug fixes or improvements in the software (performance, etc.), it should not include any new features. Major and minor software releases include the same fixes as updates, but they also include new features and functionality. This is what and ideal world would be for me, but the reality is not quite so black and white as you’ll soon see from my examples using my company LandlordMax Property Management Software.

Just a quick addendum for those of you who aren’t as familiar with LandlordMax Property Management Software, the way we do release versions is Year.Month. Year being how many years since the first version, and month being the month of the year. So if we were to release this month, it would be version 3.09, next month version 3.10, and so on. We do this because we offer one year of free upgrades to all releases of LandlordMax with each purchase, major and minor.

So why isn’t it so black and white? Sometimes it’s nice to add a quick little feature to an update to help our customers. We just can’t wait until the next major release, we want to offer it now! Maybe many of our customers requested it and we’d like to oblige them rather than make them wait for a full release, of even a minor release. For example, one feature we added to an update of version 2.12 (version 2.12a) was the ability to sort building units in a way that made much more sense to our customers.

Initially we had the units sorted alphanumerically, but this didn’t make sense to our customers. For example you’d get:

10a
10b
11c
1a
22a
2a
3b

Whereas what you really wanted was:

1a
2a
3b
10a
10b
11c
22a

You’ll notice that 2a is before 10a, which if you do an alphanumeric sort this is not the case. A small modification but it had a lot of implications to our users. This really helped them in searching for units because it makes more sense if you think about it from their perspective!

The biggest “enhancement” we did though was to greatly improve the performance of LandlordMax. Now should this be considered an update or a new release? This is debatable, and we went the view that this was an enhancement, hence an update (I’ve seen many software vendors use this as an excuse to launch a new release). But let me tell you this was no small feat, it involved many man hours!

Why didn’t we just release it as another minor update, say from version 2.12 to version 3.03, or something like that? Because if we did that, everyone who purchased the software that was eligible up to version 3.02 would not be able to receive this update. Was it significant enough for them to purchase an upgrade? Not likely, not unless they had a substantially large database. Was it worth it for them to upgrade? Yes, especially if they had larger databases. So it was worth an update but I doubt many would have paid for an upgrade, it wasn’t enough to validate the expense. But we wanted to release it sooner than later since it significantly affected our larger customers (we have many larger customers), and all our new potential customers trying out the software for the first time. Hence in this case we opted for an update.

This week we were faced with another situation. I was talking to one of our potential customers on the phone and he brought up a very good point. He had a 150 unit building, and was looking to add two more 150 unit buildings within the next few months. His issue was that he had to enter in all the tenant lease information AND all the scheduled accounting entries for those leases. Now I don’t know about you, but I could sure appreciate his argument of not wanting to enter in the same 450 similar pieces of information twice! He did suggest that he could have one of his clerks do it, but that would take time away from their other tasks, and I completely agree. This lead to the discussion of having the software automatically generate the scheduled accounting entry for each new lease when it’s initially saved for the first time. This is a great feature, one that we had planned on implementing before but that had been pushed back due to resource limitations. We only have so many resources and we try our best to implement the most sought after features and requests. In any case, I completely agreed with this gentleman, this is a feature that should be in the software sooner than later. After hearing his plight, I decided we could no longer wait for this feature, we needed to add it now rather than later.

Now here’s the dilemma, we’re also nearing another update release of version 2.12, version 2.12f. This update is mainly another performance update on the data entry screens. What we’ve done is cached all the combo box (drop down menu) items to avoid a lot of unnecessary database calls. If you have a database like the sample database I’m creating for the showcase video, this can result in a lot of extra processing that’s not really necessary. For example the tenant combobox can be easily cached, especially if you consider how often the tenant list changes versus how often we render that combobox (almost every data entry screen). This provided a significant performance increase to data screens with large databases (in my test case, this was 2659 tenants that didn’t need to be extracted from the database each time! We’ve done the same with all the major comboboxes and it made a noticeable change. The improvement went from 2-3 seconds to a virtually instantaneous display of all the data entry screens, with the exception of when there is an update to be made. If you’ve studied Graphical User Inteface (GUI) disciplines, you know that anything above 2 seconds agitates the users and makes them think the software is not responding. A significant improvement!

As I was saying, the dilemma is that if we’re about to release an update anyways in the near future, should we just tack on this new lease feature? It’s easy to say yes, but you have to remember that each new feature does cost us money to implement. And if we add that one feature, why not another one that’s really beneficial. For example we could also add the ability to convert suggested accounting entries that are late as accounting entries with no amount paid and no date paid (this is beneficial because if after a certain number of days your tenants haven’t paid you, you want to quickly take all the suggested accounting entries and mark them as unpaid. If you have a lot of these, it can take quite some time to manually edit the amounts and dates one by one)? What about adding a few new reports? This could be considered a minor upgrade. The dilemma is that, assuming we release next month, it will have been 10 months since our last release (not counting updates). Is a few new features in a year enough to warrant an upgrade? Will enough people whose license have expired purchase an upgrade? I don’t know, but I’d prefer to really make a convincing argument for an upgrade by giving them much more value than the cost of the upgrade! That’s just me.

So what are we to do? Do we give away more new feature for free as an update? Do we release a minor release after 10 months with only a few new features and performance enhancements? Will it be worth it for enough customers to purchase the upgrade and benefit from it? I don’t think either of these options is really any good… So the answer is I don’t know.

What we did decide though is that we’ll release a major update rather than a minor update very soon. Rather than just working on the 2.12 branch and adding the features there, we’ll release all the new features we’ve already implemented and tested for version 3.xx. We’d of course like to get all the new features we planned for that release, but instead what we’ll do is cut it a bit short and release it with everything we’ve already implemented (which is no small list). We’re going to do this because I believe there’s enough new value already implemented that most of our existing customers whose license is going to expire with the new major release will find more than enough value in it to buy the upgrade. By the way, just as a quick plug, remember that upgrades are discounted at 50% of the current price. Anyways, I know if it was me I’d prefer to have all the new features we’ve already implemented as part of a major upgrade, and there’s some great new features and benefits in there! If everything goes according to plan, we’re hoping to have the next major release available something in October as version 3.10! I’m not promising anything, but that’s what we’re currently anticipating.






 


SOFTWARE BY STEPHANE GRENIER:

LandlordMax Property Management Software

LandlordMax is the EASIEST
Property Management
Software available!
Try it for free!

 

FollowSteph
More resources from Stephane Grenier:
PUBLICATIONS
For people who work on the web
Blog Blazers
How to Generate Traffic to Your Website
 
SOFTWARE
The EASIEST Property Management Software available!
LandlordMax


Copyright @2003-2025
LandlordMax Property Management Software

Disclaimer: This is a personal blog about my thoughts, experiences and ideas. The contents of this blog are for informational purposes only. No content should be construed as financial, business, personal, or any other type of advice. Commenters, advertisers and linked sites are entirely responsible for their own content and do not represent the views of myself. All decisions involve risks and results are not guaranteed. Always do your own research, due diligence, and consult your own professional advisors before making any decision. This blog (including myself) assumes no liability with regard to results based on use of information from this blog. If this blog contains any errors, misrepresentations, or omissions, please contact me or leave a comment to have the content corrected.