HOME     SITEMAP     RSS     TWITTER     EMAIL    
Search:   

FollowSteph Follow Steph as he posts Blog Blazer Friday
 
 

Archive for 2008

Why do All College Degrees Take 4 Years?

College Graduates

If you think about it for a moment this doesn’t make any sense at all. Really, why do all degrees take 4 years? Do all degrees require exactly the same amount of education, the same amount or learning, and the same amount of experience? It doesn’t make sense.

I won’t debate why you go to college or university, it could be to learn to learn, to acquire a skill, to acquire knowledge, to get certified, or whatever the reason. It really doesn’t matter for this post, the question is why does it take 4 years no matter what major you take?

Some topics are more involved than others. And it shows! I remember taking some harder course where each class time had a related lab time allocated to it. If you take 5 of these courses in a semester then that was 5 labs. For other subjects, there were no labs. Some classes barely even had any assignments. For example if I compare most of my computer science assignments to my psychology assignments (I majored in both), well let’s just the say the amount of effort wasn’t comparable. And most psychology classes didn’t have labs! I’m not knocking Psychology (it was my third major – I also majored in Physics), it requires a skill set that not everyone has. It’s just that the amount of effort it took me to get through my computer science classes compared to my psychology classes wasn’t even close.

Of course I assume things haven’t changed that much since I went to university, except that now laptops are standard. Back in my day, when we used to walk 50 miles in blizzards with 100mph winds, no one had a laptop in class. But seriously, I assume there’s still a large discrepancy between how much effort goes into different degrees.

And that’s how it should be. Some material is harder to learn and takes more effort. That’s life. But why is it that every college degree still takes 4 years. Why don’t they vary in time depending on what’s required?

Is it a perception thing, where people will put less value into a 2-3 year degree versus a 4-5 year degree. I’m sure that will happen, but there’s nothing wrong with that. They take differing amounts of effort.

Or is it that it’s just easier to make everyone go through the same 4 year program, and expand or shrink the effort it takes to make it fit into 4 years (not to be confused with Parkinson’s law). Plus, and I just can’t resist, it’s pretty easy money to have a 2-3 year program take 4 years.

Personally I believe the main reason is that’s easy and standard to make it 4 years, no matter how much effort it really takes. It’s the easy route. It’s the standard. Why rock the boat? And any other of the million cliches you can come up with. Sure the other benefits are nice, but I simply think it’s because that’s the way it’s always been. And that’s why we should really question why college degrees all take 4 years to complete!






How to Stop People from Commenting on Your Blog?

Stop Sign

It’s extremely easy, ask them to register!

Unless your a very large blog like lifehacker.com where you almost need to limit commenting to registered users, DON’T DO IT! You will turn off many many people.

I know I personally won’t comment on a blog that forces me to register. Why should I register? Why do I want to remember another password, especially if I might only comment once? It basically boils down to: “what’s in it for me?”

By adding a small barrier to entry, even just to reduce spam comments, you’ll significantly reduce the odds of people interacting with your blog. You’ll stunt it’s growth. You really have to ask yourself, is it worth it?

Especially if there’s really no reason for it. If because of spam, then you should really think about using this solution. YOU should be the one dealing with the spam, not your commenters. You shouldn’t be pushing this task off to your community. Especially not with all plugins available today like Akismet.

Again, and I repeat this because it’s such a simple thing to avoid, don’t force people to register to your blog to post comments. Actually if you think about, you can’t do this unless you ACTIVELY implement it. It’s not a default setting you just turn off, you need to intentionally spend time to implement this limitation.

Don’t force people to register to your blog to post comments, It’s really going to hamper your abilities to create your online community.

PS: If you’re interested in increasing the traffic to your blog, then check out my ebook How to Generate Traffic to Your Website which is available for only $14.95.






How Variable Naming Can Significantly Impact Your Teams Productivity

How Variable Naming Can Significantly Impact Your Teams Productivity

What does kunnr mean? Anybody? If you’ve worked with SAP than you might know but to everyone else good luck. What about rqnb? Does it mean anything to you? Isn’t it obvious to you that rqnb represents a request number? Seriously though, why do people name their variables so cryptically?

Think about it a little, how much easier would the code be if the variable was named requestNumber instead of rqnb? And for those of you who think it will save a few keystrokes, hence make your typing faster, remember that each time you use the variable you have to remember how to abbreviate it. With one variable it’s not so bad, but when you have dozens, you’re always looking up the different variable names.

Still don’t believe me that it makes a large difference, tell me what the code example below does (ignoring all exception handling):

public static void chPd(uId, oP, nP)
{
    Usr u = UsrDB.getPrf(uId);
    if(cfPd(oP))
        u.chPd(oP, nP));
}

You might have a chance with that one because it’s similar to the Unix/Linux command line tools. But what about the following more complex case:

function clcMtPy($mtAmt, $ct, $intRt, $nPt)
{
    $mInt = clcMtInt($ct, $intRt);
    $mPym = $mtAmt * $mInt;
    if($mPym > 0)
        $mPym = $mPym / (1 - pow((1 + $mInt), - ($nPt)));
    return $mPym;
}

How easy was that to read? You probably didn’t get the meaning of what’s happening in the first pass, or even the nth pass. And nor should you. But that’s how a lot of code is written. What if instead it was written as:

function calculateMonthlyPayment($mortgageAmount, $country, $interestRate, $numberOfPayments)
{
    $monthlyInterest = monthlyInterest($country, $interestRate);
    $monthlyPayment = $mortgageAmount * $monthlyInterest;
    if($monthlyPayment > 0)
        $monthlyPayment = $monthlyPayment / (1 - pow((1 + $monthlyInterest), - ($numberOfPayments)));
    return $monthlyPayment;
}

How much easier is that to understand? Sure in the cryptic example, once you get a good handle on what’s going on it makes sense, but how long did it take compared to the last example. And How many times did you have to re-remember which variable represented what?

Isn’t the last example much much friendlier? Couldn’t almost anyone jump in and understand right away. How much time is spent in the first two examples just understanding what’s what? And that’s with abbreviated names, what if I had just used one letter variables? Don’t get me started on that. Ever try to search for instances of a variable that’s one letter? Try searching for the variable “u” (used in the first example) on this webpage. How many hits did you get before you found it? Good luck with that!

By the way, this code is actually a real life snippet of code from our free real estate analyzer. Although our main LandlordMax application is written in Java (Swing), the free real estate property analyzer is written in PHP. Not that it really matters, this code isn’t really language dependent. (And please note that I’ve removed all code dealing with currency and doubles for clarity).

In any case, all this to say be careful when you name your variables. Don’t think in the now, think beyond. Think about tomorow and the next person. Make everyone’s lives easier. Yes it might make your code more verbose, but it also makes it readable! It’s well worth the cost.






The Value of Your Brand's Credibility

iTouch

Intentionally or not, every brand ends up representing certain qualities. If you follow the 22 Immutable Laws of Marketing, you can only be known for one thing, and only thing, in people’s minds. Either you’re the easiest, the fastest, the cheapest, the most luxurious, or whatever, it’s one and only one thing. Although I believe this to be true in most cases, I don’t think it’s universal to all brands. For example I believe Apple is known for two things. Apple is of course known for its innovative products like the iPhone/iTouch. But more than that, Apple is also known “to just work”.

What do I mean by “to just work”? A common belief about Apple is that their stuff just works. And right out of the box! You don’t need to spend time fixing it. You don’t have to worry about viruses. You don’t have to worry about spyware. You don’t have to worry about your computer crashing. If you buy a peripheral for your Apple computer it works. It just WORKS!

Even Apple is capitalizing on this belief. We’re all familiar with the Apple commercials with the cool hip guy talking to the older, larger, and more corporate guy discussing Apple versus Windows. And of course there’s my favorite with the Windows guy repeating himself over and over about how he’s been error free for nearly a week.

The thing to note is not whether or not this is true, but rather that it’s perceived that way by the public. It’s a common belief. You can’t argue that fact. You can argue whether or not it’s true, but you can’t argue that it’s a common belief.

Many people are buying Apple’s just to avoid dealing with issues they face on their Windows systems. Of course the issues won’t disappear, well maybe for a bit, but with time as they neglect to upgrade their machines, connect them without firewall/routers, install all kinds of crapware, the issues will come back. But ignoring that fact, the common belief out there is that Apple computers just work, and that they’re immune to all these issues. And Apple hasn’t been shy to leverage this belief.

Unfortunately however all is not rosy. With their latest release of the iPhone/iTouch software, version 2.0 (and even the recent 2.0.1 upgrade), they’ve introduced a very buggy and unstable operating system. I personally own an iTouch and upgraded mine from version 1.0 to version 2.0. I can tell you that before the upgrade I maybe rebooted once or twice in total, which is great. On the same hardware, since upgrading to version 2.0 (and 2.0.1), I can’t remember a single day I haven’t had to reboot! Wow! It’s not the hardware, it’s the operating system.

I’m by far not the only one, lots and lots of people are complaining. It’s starting to be refered to as the “White Apple Logo Screen of Death.” There are issues of random reboots. Extremely long synch ups. Network connections being dropped. Battery lives being sucked incredibly fast. Very slow UI response times at random intervals (up to ten’s of seconds where the system is locked). Complete “bricking” of the machine where you need to reset it to factory defaults which takes the better part of a day! The system completely corrupting almost every time you select “Upgrade All” for your installed apps. You name it, it’s all happening. And that’s nothing compared to the outcry from the developers!

Which leads us back to our initial question, the title of this post: What’s the value of your brand’s credibility? In other words, for a brand that’s known to “just work”, what’s going to be effect of releasing a very unstable system riddled with bugs. It will greatly affect it’s credibility, and hence it will affect its revenues. The question is how much?

Luckily for Apple they’ve got a lot of brand power when it comes to just working. This release definitely didn’t just work. There are already people comparing Apple’s latest 2.0/2.0.1 iPhone/iTouch OS to a Microsoft OS release. I can’t imagine what will happen if they call version 2.1 a service pack?. But I’m getting off topic. The question is how much will it harm their credibility of just working?

In the tech community you can generally get away with one, maybe two if you’re very lucky, bad releases assuming you’ve previously been consistently good. But you better fix those bad versions very quickly. The longer it takes to release version 2.1, the bigger the hit on their credibility.

But worse yet, Apple’s “can do no wrong” credibility has definitely been hurt. “It just works” is no longer true. They pushed out a product way before it was ready for mainstream. The common theme in the online community is that version 2.0 was barely Beta worthy.

I believe they may just get away with it this time. But they’ve just played their only “Get out of Jail Free” card which means version 3.0 had better be good. Not only that, but the upcoming 2.1 update had also better offer a significant improvement in stability otherwise there will be a lot of backlash from the community. The belief that Apple’s products “just work” will no longer hold true. And that will affect them across the board. Not just for the iPhone/iTouch, but with all their products!!!

Remember many people are buying Apple computers because they’re perceived to just work. Again, whether or not this is true doesn’t matter, the perception and reputation is there in the minds of the average consumer. And if Apple loses this, then the perceived advantage Apple has over Windows will quickly erode. It will alter the OS war in a very significant way.

Branding is important. It lets people know what you or your company is all about. Branding is what differentiates you. It’s what builds loyalty. It’s what ultimately creates your evangelists. It’s defines you in the minds of other people. If you destroy the essence of who or what you are expect there to be dire consequences. Branding takes a lifetime to build and only seconds to destroy!






Penny Wise Pound Foolish

Penny Wise Pound Foolish

For those of you who aren’t familiar with this expression, it means to be cautious (wise) with small amounts of money but wasteful (foolish) with larger amounts of money. Does it happen often? Absolutely! I have no doubt it happens in every field and speciality, but it still amazes me just how often it happens in the IT industry.

The catalyst to this post was the recent Sophisticated Cooling Apparatus post on The Daily WTF. The picture alone says a thousand words! As you see from the picture, you have a hardware setup worth thousands, tens of thousands. Not only that, but those machines had to be configured and setup which costs time and money. And I suspect they’re also running a lot of expensive custom software.

What’s truly amazing is that the biggest failure point is a $5 used fan that’s attached with a note to not remove or unplug it because the whole system will collapse. Huh?!? A massive system with large resources (not just hardware and software, but also people) is at the mercy of a basic cheap fan! It makes no sense at all.

Which lead me to search for other examples, and it didn’t take me long at all to find many other examples. It just so happens that The Daily WTF had another article rightly entitled Penny-Wise, Pound-Foolish. And that story was even more appropriate!

In it, a bank hires a $300/hour contractor to setup monitoring software to analyze traffic on $5,000,000 worth of servers. Obviously you’d think they want to get their money’s worth from the contractor, especially at that hourly rate. You’d definitely want to give him a great computer system to work with. You’d want to completely pave the way so that he can work as efficiently as possible. Or so you would think…

Unfortunately that’s not what happened. The person got assigned a completely under-performing system that could barely run Microsoft Office! Never mind actually writing any code. So here you have someone who’s at the mercy of an obsolete computer that can barely even function. What a waste of time! Considering that a newer machine could be had for under $2000, that’s less than the consultant’s daily cost. And remember, in this scenario most of his time is sitting there waiting for the computer to just respond to a command (it had 256MB of ram – not even enough to run Windows XP).

The consultant of course complained, asking for a more powerful box. He was of course denied. He got the all too common response of “let’s make due with what we have for now”. And he’s not the only one to experience this. I’ve known many developers who’ve brought in their own hardware (including myself). This is hardware they paid for themselves! It happens too often.

And by the way the above story is even worse than my summary, but I think you get the point.

So why does it happen? And especially why does it happen so often? Because in larger companies and governments it’s all about budgets. More specifically whose budgets. For example the cost of the upgraded computer for our lowly consultant would probably be coming from another budget, one where they didn’t want to spend their money on something that didn’t give them a direct ROI. There’s no bigger picture here. It’s not like at a small startup where every penny is highly valued. It doesn’t make sense, but unfortunately that’s how the game is played.

Another possibility is the process to acquire the upgraded computer. Often in big bureaucracies it’s easier to acquire new people, even very highly paid consultants, than it is to acquire simple and cheap hardware. I’ve personally seen it many times, and I’ve heard about it even more. I remember at one time spending almost the same amount of money debating the value of getting more advanced hardware as the hardware itself cost. And it was no ones fault, that’s just how it works.

And that’s why you end up with a contractor basically being paid to sit for $300/hour. The larger bureaucracies can absorb this cost because of their size.

However all is not lost. I have a simple solution to propose. Let’s assume that not everyone is an idiot required to fill in ID-10-T forms for every little request. Let’s assume people for the most part are good and want to do a good job. Let’s TRUST people.

Instead of requiring a large process to get a computer upgrade, purchase a smaller software application, etc., let’s assume they know what they’re doing and let them do it. Give them a discretionary budget to spend on things that will make their jobs more efficient. Let them maximize their performance.

Sure some people will abuse the system, but that’s nothing compared to the state we’re in now. Using the example of the $300/hour consultant, it would take a lot, and I mean a LOT of abuse to outweigh the benefits this type of trust system would give you. Even if the consultant decided to purchase a $10k computer, the company would still be ahead!

But it gets better. Remember that for each request sent out, it has to get the approval of several people. Even that $50 stick of ram needs to be approved by several people. And a process had to be put into place. In other words, getting the approval to purchase $50 of ram probably costs a LOT MORE than the $50 stick of ram. I’d bet it easily costs over $200.

Which means that if you compare the trust system to the current system, you could technically have 4 people completely abusing the system for every real request and still come out ahead! And I don’t believe for even an instance that 400% of the requests are from people trying to abuse the system.

But wait, it doesn’t end there, you also get another great benefit. If you trust people they will be more productive. Not only are you saving money, you’ll get better results. People who are trusted are more motivated. When you have a good team that gels well together, they can do great things. If you embody distrust and bureaucracy, well things come to a crawl and any and all motivation slowly dwindles to nothingness.

Trust your people. The results might surprise you.






50% Discount on How to Generate Traffic Ebook!

How to Generate Traffic to Your Website

Ever since the ebook appeared on Bits du Jour, I’ve been considered reducing the price by 50%. I also have to admit I just haven’t had the appropriate time to allocate to marketing the book, what with Interview the Pros (the traditionally published book I have coming out soon) and the upcoming major release of LandlordMax.

In any case, I’ve just reduced the price of the ebook by 50% tonight. I’m going to give that a try, at least for now. I don’t know how long it will last, so if you’ve been on the fence nows a good time to take advantage of this offer. I definitely will never reduce the price lower than it is today. If anything else, once I have some time to really market it, the price will likely increase.

Considering how affordably priced I thought it was before, now it’s an even greater deal. It’s now less than the price of going to a movie with a popcorn and drink!!! You can’t beat that. Check it out now!






Why Have a Start Button to Shutdown Windows?

Windows Start Button

The other day I was watching David Pogue’s presentation When it comes to tech, simplicity sells on Ted Talks about good and bad UI design, which overall was very good. However good UI (User Interface) design is not always as obvious as he makes it out to be, and sometimes it’s even very counter-intuitive.

For example, it’s very easy to bash Microsoft Windows. Not that I’m a “fanboy” of any particular operating system, at LandlordMax we work with Microsoft Windows, Mac OS, and Linux, so I’m pretty operating system agnostic. In any case, David presented some good examples of good and bad UI design, and in most cases he was 100% right. In one comparison, for example, he compared the difference between the shutdown menus on Windows and the Mac OS. The Mac OS definitely had a more obvious and easier user interface.

What got my attention however, and the reason I’m writing today, is that he also made a passing joke about Windows and how you shut it down. He said “Why in gods name do you shutdown a Windows PC by clicking on a button called Start” (approx 11 minutes into the presentation) which drew some laughter from the audience. I agree his comment makes sense intuitively, but he’s unfortunately wrong in this case.

The Old New Thing

Raymond Chen writes about Microsoft’s decision to use the “Start” button in his book The Old New Thing. It’s too bad David hasn’t read Raymond’s book or blog post about the decision to use the Start button. Basically it goes that in the beginning of Windows there was no “Start” button, they only added it after going through some usability testing.

To quote Chen (the highlights are my own):

Back in the early days, the taskbar didn’t have a Start button. (In a future history column, you’ll learn that back in the early days, the taskbar wasn’t called the taskbar.)

Instead of the Start button, there were three buttons in the lower left corner. One was the “System” button (icon: the Windows flag), one was the “Find” button (icon: an eyeball), and the third was the “Help” button (icon: a question mark). “Find” and “Help” are self-explanatory. The “System” button gave you this menu:

Run…
Task List…
Arrange Desktop Icons
Arrange Windows 4
Shutdown Windows

(“Arrange Windows” gave you options like “Cascade”, “Tile Horizontally”, that sort of thing.)

Of course, over time, the “Find” and “Help” buttons eventually joined the “System” button menu and the System button menu itself gradually turned into the Windows 95 Start menu.

But one thing kept getting kicked up by usability tests: People booted up the computer and just sat there, unsure what to do next.

That’s when we decided to label the System button “Start”.

It says, “You dummy. Click here.” And it sent our usability numbers through the roof, because all of a sudden, people knew what to click when they wanted to do something.

So why is “Shut down” on the Start menu?

When we asked people to shut down their computers, they clicked the Start button.

Because, after all, when you want to shut down, you have to start somewhere.

(Besides, if we also had a “Shut down” button next to the Start button, everybody would be demanding that we get rid of it to save valuable screen real estate.)”

The morale of the story, be careful before you start trashing user interfaces, there might just be a reason for some odd solutions.


TripLog/1040

And this was proved again recently in the post Learning from “bad” UI on Signal Versus Noise when Ryan walked us through the UI design of TripLog/1040. This UI at first seems to be horribly designed, with no thought at all given to it. But once you understand the reasoning and usability behind it, you quickly realize that it was indeed very well designed and that a LOT of thought was actually given to the design of its UI!

Of course many UI’s are just badly designed, there’s no question about it. It’s just that sometimes the obvious is not so obvious!






How To Quickly Setup a Software Development Environment

Setup New Developer Computer Environment

At one time or another all software developers have joined a project or team where the development was already underway. The most common introduction for a new developer to these projects is to setup their development environment. If you’re extremely lucky, a lot of this work is already done within the corporate disk image, but more often than not it’s up to you. This is especially true if you’re a contractor.

For a typical Java project, the story goes something like this. Download and install a specific JDK (Java Development Kit). Download and install a particular IDE like Eclipse. Download and install a specific web server. By the way, depending on the company, some of these versions may no longer be available which means you have to track down someone who still has an available copy somewhere. But assuming they’re all the latest versions, that’s just the start.

Once that’s done, you have the core applications to setup. Then you get to start downloading and installing the support applications. If you’re using Eclipse, maybe it’s the SVN (Subversion) subclipse plugin or the TortoiseSVN client. A good text editor such as UltraEdit. FireFox. The list goes on for about a dozen or so applications.

After that you probably need to configure your system settings. Most likely you then have to set up some development environment variables or configurations (server.xml, eclipse.ini, etc.). Save some connection settings in Putty. Setup some network drive connections. And on it goes.

But the fun doesn’t stop there! At this point you’ve just got your environment setup, you haven’t downloaded the project’s source code. Now you need to checkout the project from the source. Once that’s done you need to run the automated build system to get the project up and ready on your box, perhaps using Ant or Maven. If you’re lucky, and the company was in the upper technological echelon it ends there. Unfortunately most companies don’t completely automated their builds so you often still need to do some extra manual tweaking to get your project running. And on it continues.

Which means that all new developers lose anywhere from a few hours to several days setting up and configuring their development environments. Very expensive! And the longer your project goes (there will be some developer turnover with time) and the bigger your team gets, the more expensive it gets. Plus, with time this knowledge will disappear. People will forget steps, or why things are done in a certain way. Which means that at some point setting up a new project will be, well, for lack of better word, insanely difficult. You’ll have to track down specific people within the project because they’re the only ones left who know anything about certain parts of the system. If you’re really unlucky, the only way to get up and running might be to you copy the complete environment from one computer to the other. Yes complete copies of directories! It can become a mess.

The good news is that there’s a much much better alternative. One that will make everyone’s life much easier, and keep the knowledge over time. Can it really be? Yes, we don’t all have to suffer through this. And what’s even better is that I’ve implemented what I’m about to suggest with great success several times, and not just at LandlordMax but also at companies I’ve consulted for in the past.

Create a developer’s installer!

Why should your final product be the only system with a deployment strategy? Why not create one for your developer environment as well. Especially if your company doesn’t have a fully pre-prepared disk image ready with everything (which is virtually guaranteed).

How hard is this to do? It’s actually extremely simple, simpler than you might think. If you’re company already owns an installer like Install4J (which I’ve recommend in the past), then it’s a matter of an hour of someone’s time. And it shouldn’t just be kept on someone’s machine, it should be it’s own full project within your version control system. This way if any developer does any environment change, it’s up to them to update the developer installer project. This includes if an application needs to get updated (for example to the latest version of Eclipse, the latest version of FireFox, etc.). This isn’t just limited to new software updated, but also configuration changes, etc. No longer do you need to keep a record of configuration change emails, it’s all done for you in the developer installer!

Therefore when a new developer starts, all you have to do is get the latest executable build, copy it on a USB key (network drive, whatever), and let them run it. Better yet, you can do it the day before they come if they’re going to use in-house hardware. During this time you can walk them around and introduce them to the rest of the people they’ll be working with, explain them the project in more detail, or any other higher value action items you may have.

And don’t worry if your company hasn’t bought a great installer building tool like Install4J, you can also use the open source installer creation system called NSIS. Up until LandlordMax, I generally relied on NSIS to create Developer Installers since I could never guarantee what was available in the different development environments, but with LandlordMax we use Install4J. Both are great, the main difference is that with NSIS it will take you a lot longer and you’ll need to acquire a lot of specific NSIS knowledge (it’s a scripting language). So instead of an hour or so for Install4J, expect it to take a few days to a week or more with NSIS to build a good installer. But even if it takes a week, it’s worth it!!! The good news is that it doesn’t have to be production quality, just beta quality. In other words, you don’t have to include all the checks like in a production installer, you can assume that your users are pretty smart and will mostly enter in valid values (for example you can assume there’s enough disk space on the hard disk, that it exists, that’s writable, and so on).

The good news is that an NSIS installer script shouldn’t be more than a few dozen lines to a couple hundred lines (assuming you’re using functions and macros available on their website). So that’s not too bad overall. With Install4J it’s all GUI based, and the resulting script is stored in an xml file which can be called from any Ant build script! The cost to benefit ratio for one person to translate all the developer environment knowledge into an automated installer for everyone that will be available forever is unbeatable!!

A few quick tips:

  • Don’t re-create your main build file (Ant or Maven in Java), leverage what’s already there. In other words, you developer installer can call the main build file in your project to complete the environment setuo.
  • Use silent installers. Most applications have silent install options, so use them. The less interaction your developer installer requires the better.
  • Give the developer the option of selecting the initial install location.
  • As part of the install, leave all the individual installers within the main install directory (for example leave the FireFox setup executable somewhere in the install path so that it can be run separately later).
  • Give the option to select which “modules” to install. For example give the option to install FireFox, to install Eclipse, to configure the server.xml configuration file, etc. I’ve done this in the past by presenting a list of options (checkboxes) the user could select. By default all are selected with a toggle to unselect all of them near the bottom.
  • Assume advanced users are using your installer. In other words, you don’t need to spend too much time on checking for user errors. Let it fail miserably if there’s an error. It’s not worth the time.

As an added benefits, everyone has the same development environment initially by default. With time some developers will deviate from the standard development environment to what they like, but it’s good to start the same way. At least this way you have a default method to setup a developer environment which is a million times better than having a bunch of different developers setting up your environment in slightly different and unique ways. Plus if there’s an issue, it’s REPRODUCIBLE!






What's the Real Value of a Guarantee/Warranty?

Guarantee

Not all guarantees and warranties are worth the same. For example here at LandlordMax we guarantee that we will give you a refund within 30 days of buying LandlordMax if your not completely satisfied (remember this is after trying it for free for 30 days before purchasing it). We’ve honored this guarantee every single time!

However not all companies create guarantees with the intentions of honoring them. And even those that do might not (especially if money starts to get tight). Let me start with an example of a useless guarantee (sometimes also called a warranty – we’ll assume for this post that they are the same although there are minor differences). A year ago I bought a dehumidifier for my house, a Honeywell. With the dehumidifier came a 5 year guarantee. If anything was to go wrong, they would immediately replace the unit. All I had to do was call the 800 number listed in very large and bold letters on the box, in the manual, and so on.

As you can guess, the dehumidifier broke before the guarantee was up. It actually broke within a year, less than 20% of it’s guaranteed lifespan. So I obviously called the big bold number listed everywhere that had influenced my purchasing decision. On a side note, I ended up buying two units, one for our house and one for my mom’s house. Both units stopped working within a year, so I suspect there are some production issues.

In any case, after calling the number I discovered that Honeywell itself doesn’t actually manage the guarantees, they’ve outsourced that to another company. Not a big deal, but if you’re going to outsource it’s important to make sure the company that you use to outsource does a good job and represents you well. Turns out that the company they outsourced for was no longer around. But they gave us another number to another to call so that we could take advantage of the guarantee.

Again I took the phone and made a call so that I could exercise the guarantee. And in this second case, the company is pretty much clueless. They don’t really know what to do, so they take my name and phone number and promise to call back within a few days with some answers. Of course being busy as I am I forgot to follow-up within a few days, and I ended up calling a few weeks later. Still the same response, we’ll call you in a few days. Nothing again. It’s as if no one’s there. And this wasn’t just me, my mother, with her faulty unit, also had an identical experience.

It’s almost as though they’re trying to ignore us hoping that the problem will go away. And it did, we both eventually gave up and got ourselves other different units. But rest assured it wasn’t from Honeywell, it was from another brand. I’ll never buy another Honeywell dehumidifier again. Even though my experience with their home thermostat has been very positive this experience has really soured me on their company. I now place absolutely no value in their guaranties and warranties. They just don’t honor them. Getting rid of their obligations through attrition is very deplorable!

But who’s going to go after them to enforce the guarantee. I need a replacement now, not much later. And I’m for sure not going to spend my time chasing down a few hundred dollars that will likely never come when I could make multiples of that working on my business. So they’ve just basically got the benefits (increase in sales conversions) from their guarantee without having to enforce it. Maybe it’s different with other departments within the company, but for this dehumidifier unit they definitely own up to their claim.

The moral of this story is be careful when you make a purchasing decision, especially if you put a lot of value on the guarantee or warranty. Don’t just assume it will be honored.
Look at who you’re buying from and see if they have a history of owning up to their guarantee. Check their reputation. And only then put value into the warranty.

And one last thing, the longer the duration of the warranty, the less value you should put on it. For example, the odds of a lifetime warranty being honored after 20+ years of purchase are pretty low. They’re assuming you’ll have moved on, lost your receipts, there is no equivalent replacement unit, or maybe even that the company might not be there anymore. I personally won’t trust anything beyond a 5 year guarantee, and even than my trust is limited. For example you can be pretty confident that most car manufacturers will honor their warranties. But I wouldn’t put any weight in a $40 coffee maker 20 year guarantee. And is it even worth your time to follow through with a $40 guarantee after 15 years…






LandlordMax Customer Testimonial

LandlordMax Property Management Software
Here’s just the kind of feedback we love to hear from you fellow LandlordMax‘ers!

“I’ve loaded LandlordMax and played around a bit, and just want to tell you that you are now my hero.

I wanted to get it going a little bit so I knew how to teach our property manager. Hands down, this is the easiest and most uncomplicated property management program I’ve ever seen – especially for us, since we are a small property.

I’ll definitely let you know if I can’t figure something out, but wow, this is wonderfully user-friendly.

Big thumbs up, and thank you!”

Thank you Carol Story for these really kind words. They’re very appreciated.





 


SOFTWARE AND BOOKS BY STEPHANE GRENIER:

LandlordMax Property Management Software

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

Real Estate Pigeon

Real Estate Pigeon
The place to ask and answer
all your real estate questions

Blog Blazers: 40 Top Bloggers Share Their Secrets to Creating a High-Profile, High-Traffic, and High-Profit Blog!

Blog Blazers is a book that
features secrets from the
Top 40 Bloggers on the web

How to Generate Traffic to Your Website ebook

How to Generate Traffic to
Your Website
is an ebook for
to you achieve success


 

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-2024
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.