How Blogging Can Help Your Business
This post is an exert from my ebook How to Generate Traffic for Your Website:
To give you a quick idea of the scale of blogging, here are some more quick metrics according to Technorati.com (April 2007):
- There are 70 million blogs
- There are about 120,000 new blogs each day, or 1.4 new blogs every second
- There are 1.5 million blog posts per day or 17 posts per second
What do these metrics mean for you and your company? Why is it important to blog? What’s are the benefit for your company? Will it help increase your traffic or revenues? Is it worth your time and effort (make no mistake about it, blogging successfully takes a lot of time and effort)?
For most companies, blogging can really help. It can help your business in a number of ways:
Personalize your business.
Instead of being just another faceless company website, it can give your website a second personality. It can give it that personal touch that people like. A lot of sales are through emotions, and people like to connect with people they like and trust. If you’re honest and real on your blog, and not just writing what you think people want to hear, you’ll create a personal bond with your customers. This will create long term traffic and revenues.
Express your personal philosophies and beliefs
A blog can allow you to express your personal philosophies, beliefs, etc. that might not be as appropriate on a corporate (or more official) website. For example, I share on my blog my beliefs about technical support. I’ve shared my beliefs that the most important aspects of software are easy to use, customer service, and quality. That it’s not the sheer number of features implemented, but rather how each feature is presented. To me that’s more important. I’d rather have less features, but have each one bug free and extremely easy to use. That’s my philosophy towards software design, and I’ll share it openly on my blog whereas I wouldn’t on my company’s website.
Behind the scenes.
I’ll also share what’s going on behind the scenes. How we’re doing on the next upcoming major release. Some struggles we had to deal with. Successes and failures we’ve experienced. A lot of people appreciate this. Why do you think movies often include commentaries and behind the scene clips? People like to know what happened behind the scenes. It helps bring a story to the businesses they deal with. And more importantly, it really helps them appreciate what you’re about. As a great example, my company LandlordMax doesn’t offer phone support. We tried it for a few months and realized it wasn’t going to work for us financially (if you don’t try you can’t know for sure), at least not unless we charged a significant amount. Now every time someone asks us why we don’t offer phone support I send them a link on my blog explaining why we don’t offer phone support. 99.9% of responses after reading this blog post are understanding and positive. Some extremely positive!
Transparency.
Another point very similar to behind the scenes, it’s giving your visitors transparency to your company. For us, because our customers plan to stay with us for the long haul, they want to make sure we’ll be around for a long time. Once they enter in all their data into the software, they don’t want the company to suddenly disappear. Our lifespan is important to them. By being transparent we can give them the confidence they might not otherwise get from just our corporate website.
Expertise.
People want to deal with competent people. When you go see a car mechanic you want to make sure they knows what they’re doing. When you hire a plumber, you want a good plumber. If you’re into home renovations you’d probably prefer to hire a reputable person like Bob Villa or Mike Holmes simply because they continually share their expertise. It makes you confident they can do the job. A great example of this is Pingdom.com. I don’t remember how I found their blog, probably through a link from another blog or a social network site, but needless to say I started to read their blog posts because they were extremely interesting and informative. The more I read the more I appreciated their knowledge. And it turns out I had been looking for a company I could trust for LandlordMax that offered their service (they will monitor your servers and if they go down , they notify you right away). Within a week I had bought a year package. The blog is what sold me. If it hadn’t been for the blog I have no idea who I would have selected. They really sold me on the fact that they knew what they were doing. But beyond that, I now follow their blog. I’ve also recommended their blog and services many times to a lot of individuals. I’m even mentioning it now in this post (and in the ebook). Their blog has absolutely increased their overall traffic (and revenues).
Give Advice.
A blog gives you the ability to offer advice that you might not want to on a corporate website. For example, a blog about a winery could offer a lot of advice on how to select wines. It could explain the differences in viscosity. It could explain how to taste a wine. Even further, the company could explain how wine is made. The blog could describe the process, explain the subtleties. Basically by offering advice on how to make wine and select wine, they’re giving something to their customers. People will come back. They’ll share their article with their friends. It will drive traffic to their website.
Controversy.
Controversy will often generate attention and traffic. However, rarely will a professional or corporate website want to present any controversy. This is where a blog comes in really handy. It’s an easy way to present your view on a controversial point yet not directly involve your company, and still manage to get some of the advantages such as increased traffic.
Long tail.
Blog articles will generally continue to generate traffic long after you write them, sometimes even years later. Take advantage of this older traffic and redirect them to your main website. Each archived article may not have that much traffic individually, but together they do add up quickly!
If you enjoyed this article, you might also be interested in purchasing the full ebook How to Generate Traffic to Your Website for only $14.95 (less than the price of a dinner for two). It contains 138 pages of information on how to increase the traffic to your website using both free and paid methods. You can read the first 21 pages here for free.
Permalink to this article Discussions (4)
I Wonder How Often this Works?
We’ve all gotten the emails from some rich heir that’s in exile but has millions in a bank they can’t access. And if we help them, they’re going to share some of their riches with us. We all know the email, we’ve all seen it a hundred times (most are Nigeria based).
If you’ve been under a rock and you haven’t seen them yet, well you should really watch Ze Frank’s Ted Talks speech just below. It’s pretty hilarious (specially starting around the second minute – although the whole talk is really good):
This is a scam known as an advance-fee scam. The basic idea is that you’ll send them money in advance of getting a large payout, which of course never comes. You would think that this scam being as famous as it is today wouldn’t work anymore, but for some strange reason it still works. Don’t ask me why, I don’t get it. But for whatever reason, some people still get caught in this scam every year.
Of course these aren’t the only scams going around. Recently an email made it through our spam filters here at LandlordMax which I found interesting enough to comment on. Now I’m sure few people will fall for this particular scam, but imagine if you’re a small one person business (even smaller multi-person businesses have been known for falling for these types of scam), wouldn’t the following email look somewhat interesting. Especially if you were on the verge of running out of money during tougher economic times.
We are a software development and marketing company in Kuwait (Middle East). As part of our software portfolio, we would like to market and sell LandLordMax to our real estate and property management customers in the Kuwait market.However, we would like to brand the product as one of ours instead of LandLordMax. This would require a complete removal of all links that point to LandLordMax or your website, your license etc and be replaced with material suitable to our porfile. Also the logo will need to change.
We will market it and sell it and of course pay you license fees per installation.
Do you have any such reseller program that we can participate in. If not how do you suggest we take this forward.
The first thing to note is that they took the time to put in our company name several times. But what really sticks out, at least to me, is that they must have used some sort of keyword searching algorithm because they included “real estate and property management” in the email. This makes it look a lot more authentic. It makes it look like they’re in the right field. It’s no longer a generic email blasted to millions of random email addresses. At least it doesn’t obviously appear that way.
The other appealing thing in the email, for many businesses that is, is that they just want to market it. They want to “resell” it. They even go so far as to ask if there’s a “reseller program”. Although we all know this is bogus, I can see it further reducing the defensiveness of a more susceptible person.
Of course that’s never their intention. If it was, why would they later ask “However, we would like to brand the product as one of ours instead of LandLordMax. This would require a complete removal of all links that point to LandLordMax or your website, your license etc and be replaced with material suitable to our porfile. Also the logo will need to change.”
Basically they’re asking for a full version of the software, that’s completely de-branded, and has a no licensing implemented! If that doesn’t scare you as a business, I don’t know what would. Why not just go ahead and ask for the source code straight out? Generally, unless you’re acquiring a company for it’s assets or intellectual properties, you want to leverage the existing brand name because it has value. Not here.
You gotta love these types of requests. Normally I just dismiss them, but I had to comment on this one because of the higher than normal level of sophistication. Now maybe I just never noticed it before, but this is the first time I’ve seen such an email that includes matching company name with relevant keywords (not optimized keywords, but at least their relevant). I have to wonder how many businesses will be caught in this one versus the 419 scams (the initial email scam mentioned above).
By the way, as I was doing some research for this post, I came accross this interesting list of the top 10 email scams of 2008. Not exactly educational reading, but fun to go through. And they offer exerts of the different emails.
Permalink to this article Discussions (4)
Off-site SEO is More Important than On-site SEO
Don’t believe me? Ever hear of the term Google Bomb? This is where enough people point to a specific website using the same anchor text (the highlighted text that’s underlined in a link) to override what Google thinks the website is about.
The classic example is Miserable Failure which George Bush experienced a while back. Unfortunately Google has corrected this and it no longer works, so I can’t show it to you live.
But it doesn’t mean it’s not possible elsewhere. Actually it’s very possible and it happens all the time.
For example, you can have a perfectly optimized website “mesothelioma” (a renown keyword for it’s high CPC – Cost Per Click – value), but if everyone linking to your website says you’re about something else, that something else will overrule your SEO efforts. Google has realized that although you may think you about a specific topic (or maybe you’re just trying to game the system), if everyone says else wise they’re probably more accurate than you. And Google will therefore adjust what it thinks your website is about according to what everyone else says it’s about.
Which is good and bad. It means that your website can be about multiple keywords just by having links to it with different keywords. It also means that although you might optimize your website for one particular keyword, the search engines will recognize it for several other keywords which is great (assuming of course that they link to you with the other keywords).
It also means that you can get a double whammy by optimizing your website for the keyword(s) that most people link to your website for because you’ll be matching what the world thinks you’re about. That’s a good thing.
The key thing to remember is that the way people link to you is more important that your on-site SEO efforts, especially as your website gains momentum. Yes your SEO efforts are still very valuable, you will need this to be at the top of the search results. What I’m saying though is that it’s not that critical to have your website 100% SEO optimized (if that’s even possible). If you can get 70%-80% of the way there, that’s probably good enough. You’ll get to a point where you’ll be getting diminishing returns on your on-site SEO efforts, where you’d be better off spending your time getting high quality links to your website.
PS: If you’re interested in learning more about On and Off-site SEO, check out my ebook How to Generate Traffic to Your Website, in which I discuss this and many more SEO topics.
Permalink to this article Discussions (1)
Strike One. Strike Two. Strike Three. What You're Not Out?
Recently Apple release version 2 of it’s wildly successful iPhone with great dismay. So many people flocked to the stores to buy this latest new offering that it killed their networked. This ended up causing a lot of phones to become “bricked” (aka as useful a phone as a brick). Strike 1. Well maybe not strike one, we’ll pretend they just forgot to bring their bat to the game.
Having quickly brought back their network from the dead within a day or so, people were able to activate their new iPhones (or upgrade their older iPhones to the latest software). All seemed well and rosy again.
Then within no time reports started to come out that the phones were continually crashing. That synching your phone could take hours, many hours. Daily reboots. And much worse. Basically the community came to conclusion that version 2.0.0 of the iPhone should really have been called version 2.0.0 beta (maybe even version 2.0.0 alpha depending on who you talk to).
Strike One!
Then release 2.0.1 came out. It was suppose to fix some bugs. Maybe it did, who really knows for sure. For me personally the phone was just as unstable. I think rather than 2.0.1 it should be called 2.0.0 alpha 2. In any case, at best it only seems to have resolved some superficial issues.
Strike Two!
Looks like Apple just released version 2.0.2 with even more issues. Apparently they fixed some bugs, but also introduced others. I haven’t yet upgraded myself, but if it’s anything like what’s described on this recent post on iPhone Atlas, I’m not going to either! To quote the post: “This problem is generally accompanied by another in which music and other media are erased from the iPhone.” You should see the fix to resolve this issue!
Strike Three!
What? Not out yet? Apparently not. They have enough pre-built goodwill to keep going. But for how long? No company has infinite goodwill. Eventually they’ll lose all their credibility. The “it just works” won’t apply anymore.
And it’s not like they haven’t had any time to fix these issues. It’s been what, a month? Maybe two? Yet all we seem to be getting are basic bug fixes that don’t resolve any real issues. Not only that but they seem to be causing more issues. It just works, I don’t think so.
If Apple doesn’t watch out, they’ll lose all their credibility and brand value before they know it!
Permalink to this article Discussions (0)
How to Stop People from Commenting on Your Blog?
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.
Permalink to this article Discussions (0)
The Value of Your Brand's Credibility
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!
Permalink to this article Discussions (3)
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.
Permalink to this article Discussions (0)
50% Discount on How to Generate Traffic Ebook!
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!
Permalink to this article Discussions (2)
Why Have a Start Button to Shutdown Windows?
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.
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.
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!
Permalink to this article Discussions (12)
How To Quickly Setup a Software Development 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!
Permalink to this article Discussions (6)
« PREVIOUS PAGE | NEXT PAGE » |