Month: April 2004

  • Ikea College Park MD – What we can learn from Ikea blowing a $350 sale

    With any automated system, mistakes are bound to happen. Sometimes it is the end user’s fault. Many times it is a bug in the program, a server glitch or someone spilling a Pepsi on the keyboard. The point is simple; you need to anticipate that at some time, someone is going to make a mistake using your church’s website. The question is how does your response reflect your church’s purpose and personality? Being a little proactive may be the difference between a return visitor and someone never gracing the door of your institution ever again.

    Case in point, last night Ikea had $350 of my dollars in their hands, but because of a faulty information infrastructure, a lack of contingencies and a queue system that enslaves the customer to the needs of the merchant, they let it slip through their fingers. Here is what happened:

    – – – – – § – – – – –

    Yesterday, my wife and I make the 40-minute trek from Rockville to the Ikea in College Park Maryland. No small feat as we are bringing along a sweet, but typical 4 year old. We took the pickup truck, which isn’t as comfortable as the Honda Accord, but then again, you can’t pack a computer desk and side unit in the trunk of the latter.

    So we get there, I take the kid to the play area; my wife begins to hunt for the furniture she saw online. I wait 15 minutes with my anxious daughter because the play area staff is short handed.

    Finally, my daughter gets the green light and I try to hail my wife on our two-way radios. One problem, my wife put it down for a second to measure a desk. She turns around, the radio is gone, and some well-intended staff saw it and took it to the lost and found. I admire that to a degree; I would admire it a bit more had the employee first asked anyone within sight of the radio if they had misplaced such an item.

    I lose 15 minutes trying to find my wife, who has to track down the lost and found to recover the radio to find me.

    We get to the office furniture area, we look at alternate models, we decide on the ‘Galant Desk Combination Left‘, but it isn’t a “self shop” item. We get the attention of a very helpful staff person named Condi. She walks us over to a terminal, prints out a paper and instructs to get our self-shop items and then present the paper while we’re ready to purchase.

    It takes 5 minutes to walk the maze from the office area to the self-shop area. There we get a CPU/printer cart to go with my wife’s desk, I get a “Jerker” table.

    The wait in line at the register wasn’t nearly as long as it was on a previous visit, so I didn’t mind my wife had to walk down to the pickup line while I brought the truck around. I park the truck and wait. Time is running out, my daughter’s allotted time in the play area. I leave the truck in the loading area; my wife can see it … she’s still waiting.

    I get in line to wait for my daughter. I get my daughter. I return my daughter to her mother who turns to me and points to a cart that has everything for the ‘Galant‘ desk unit … except the desktop. Looking up from the cart full of table legs, a ‘half round’ and frame, I ask the clerk where the desktop is. He non-chalantly informs us that they must be out stock because they couldn’t find it.

    Now let’s stop here for a minute. First, when Condi pulled the item up on screen, she should have had a bright red flag on her machine tell her the unit was out of stock … yellow if there was only one or two left; at which point she could have called down to the warehouse to confirm the piece in stock, and hold it while removing it from the system. The system should have refused to print the order unless the out of stock unit was removed from the list of the purchase. Second, up on printing page, a message should have been sent to the warehouse to hold that unit … in fact, the entire request should have arrived at the shipping area before we did.

    With that in mind, I inform them that I’m not going to by any of the parts of the desk unless there is a desktop. What is the sense in that? Especially since we were never informed when the desktop would be back in stock … if ever.

    Let’s stop again, at moment the clerk realized someone had just paid for something that was out of stock, he should have informed the warehouse manager, and the manager should approach the customers; perhaps with free shipping when the unit arrives. If for no other reason because Maryland consumer laws are pretty strict about taking a customer’s money for unavailable item without prior agreement of the consumer. Instead, he points to the refund area, in which we must pick a number … 580, while the current number is 574.

    We wait another 15 minutes, we get a pretty jovial guy who doesn’t mind us asking for a manager … we wait a couple more minutes … he comes back and informs us a warehouse manager will be right up. My wife asks the refund clerk if there is any way we can make sure a mistake hasn’t been made in the warehouse. The refund clerk shakes his head no.

    Myself, having worked on a large POS/Inventory/Warehouse data systems for the largest Mac vendor to the Federal Government a few years back, I remark how impossible it seems to me that Condi was allowed to print-out a request for an item not in stock. How it is absurd that there aren’t procedures and mechanisms in place to deal with low quantity non-self-serve items. Especially since everyone is bar-coding everything in a day and age of high-speed data replication.

    The clerk tries to tell me that it could other persons requested the same unit at the same time. Which was odd, we didn’t see a whole lot of people near looking at the desk, nor near Condi’s station nor loading such units in their trucks and vans. Nor does it explain how the person at the register is allowed to ring-up a sale to the out of stock after scanning the barcode. Though it does indicate to me that this young man’s sales talents are being squandered at the returns desk.

    Exasperated, I kvetch to the cheerful young man at the refund counter that I can’t believe the system is so decrepit. He assures me that it is, and then proceeds to say, “I should know, I work with computers.” Hmmm … that must explain why he’s wearing the yellow shirt with the blue Ikea logo on it.

    Don’t worry the refund guy was nice enough that I kept that thought to myself. Moreover, I inform him that he’s taken too many items off the purchase, that is, there was a $99 “Jerker” sitting my truck that I did want to take home … and no matter how frustrated, it would be stealing if he didn’t debit my credit.

    We pay for the “Jerker” and leave the store; still no warehouse manager in site, my wife is frustrated to the point of tears.

    – – – – – § – – – – –

    It’s a long story, but I feel much better after writing it. I also hope you’re a bit wiser in understanding the importance of pre-empting mistakes, and when that doesn’t work, giving your users what they need to gracefully recover from mistakes.

    For example, what happens when your user types in a URL that doesn’t exist on their page? I personally prefer to give them the name of the attempted page, along with an explanation, a menu/method of navigation and the search form.

    So what happens when the user can’t find something on the search form? Have you taken into account they might not know how to enter an effective query? Along with instructions, do you have an “advanced form” which dumbs down some of the options in the forms of additional radio button and/or check box elements?

    Have you instructed members of the church office how to respond to errors and inquiries? Do you provide any type of documentation to help the users and/or the church staff circumnavigates the site?

    Here’s the point, if you don’t address the potential for “oopsies” on your church’s website, then you are probably insuring that a potential visitor is going to visit some other church after they frustrated with your website and leave forever.

    Ikea had $350 in their hand, yet they let it slip through their fingers. Worse, we’re not likely to go back to buy anything else after having to wait in five different lines of 15 minutes each, three of which was to pay for a cash and carry item that was not in stock … or couldn’t be found.

    Don’t let the same type of thing happen to your church’s website.

    • put systems in place that keep everyone on the same page
    • have contigencies to deal with mistakes and/or complaints
    • put the needs of the seeker and/or member above that of the system
  • Mirroring Websites with wget, curl and/or tar

    From time to time, it is a good thing to back up your entire site onto a different computer/server, even if your entire site is database-driven.

    Take my situation two weeks ago, when my former host provider shut down the RBC site because of a false spam report. Even though no spam had actually been sent from redlandbaptist.org, my former host’s upstream provider demanded action. In response, my former shut down the site with no notification despite their existing terms of use to warn on the first time, suspend on the second, etc… After I threatened legal action, the host provider and I found a middle ground where he agreed to put the site online, and I agreed to move my sites elsewhere over the course of a weekend.

    Fortunately, I was already moving sites off this host I personally found troublesome. The Redland site was the last to go. RBC was last because there are legacy portions of it that are not entirely data-driven. That is, with my other sites, I merely dumped the MySQL database off the old machine, install a fresh version of MovableType on the new site, pipe in the data, hit rebuild and viola!

    While there are several PC based options for mirroring a site, I wanted something that would take files from one Linux server and move them to another. I had three choices. First, there is wget, a nice little GNU tool for offline reading and site mirroring. As Jim Roberts writes in his article “Mirroring Websites with wget“, the syntax is insanely simple:

    wget -mirror -w 3 -p -P c:\sokkit\site\rbc ftp://username:password@ftp.redlandbaptist.org

    My only problem with this approach is that much of the legacy stuff at RBC was image related and/or offline because it is seasonal. And though I employed the “-p” option, not all images made the cut, nor did any of our offline archives for obvious reasons. So another solution, at least where images are concerned, would be to use a Perl program that employs another command line download tool simply known as curl:

    perl curlmirror.pl -p -s 800 -o rbc -t /home/backupsite/rbc http://www.redlandbaptist.org

    Unfortunately, since I have several files with a .php extension, I get the same filename mangling that I would with wget’s offline reader syntax:

    wget –mirror -w 2 -p –html-extension –convert-links -P c:\sokkit\site\rbc http://www.redlandbaptist.org

    The above syntax converts urls like http://www.redlandbaptist.org/index.php?sid=123 into http://www.redlandbaptist.org/index.phpsid_123.html. Great for viewing, not so great as a working backup.

    There was another way, one that insured I got all my files, all the correct paths and all the correct file ownerships and permissions. Unfortunately, this method required shell access, and though my former host provider was kind enough to put the site back online, I seriously doubt he would have honored any request to restore ssh access. So I cheated, I downloaded a ‘modified copy’ of the Gamma Web Shell.

    ‘Modified copy?’ The Gamma Web Shell allows an individual to execute shell commands directly from their browser, so you can imagine the security implications of installing such a program. So on my local PC, I first modified the password to something huge and random, I limited the commands allowed, and then I changed the code to accommodate changing the file name from WebShell.cgi to something hard to guess. Once modified, I ftp’d it to the old Redland site, and then entered the following commands:

    mysqldump -uUSRNAME -pPASSWRD -opt mydatabase > databasedump.sql

    tar -zcvf shebang.tar.gz *

    Please be warned, if you go this route, you are putting your site at great risk. Don’t blame me if you get hacked. You have been warned. In fact, I only did it because my back was against the wall. That said, immediately after executing the above backup commands, I deleted the shell program. Then uploaded a text file full of Lorem Ipsum using the same name to make sure it couldn’t be reconstituted from the trash.

    After these security precations, I FTP’s the backup file to the new host, invoked the command “tar -zxvf” and was back in business almost instantly. I also FTP’d the tar.gz backup file to my home PC and ‘burninated‘ a CD as a ‘suspenders and belt‘ precaution.

    So how about you? What’s your method of mirroring and/or moving sites? Remember what I said this past August, “if you fail to plan, then you’re planning to fail.

  • Tweaking Instapundit’s New Design

    When it comes to issues of the law and punditry, and even to a degree digital photography, �ber-blogger Glenn Reynolds has it all over me. However, when it comes to issues of website usability and accessibility, I think I might have the advantage over the otherwise all knowing Instapundit.Recently, the good Dr.�s site underwent a very nice facelift: bolder fonts, bolder colors, less distracting presentation of his blogads and permalinks, and a useful �Don�t Make Me Think� style navigation/menu bar along the top. In other words, I like it, I like it a lot. That said there is some tweaking I might affect before blessing this redesign as completely done.

    Perhaps the biggest problem I have with the site is the �active pattern� employed as borders. I found my eyes drawn to what I perceived as �motion� along the fringe, instead of keeping my eyes centered on compelling content that has always been king at Dr. Reynolds� site. It makes reading the site for any length of time difficult � almost to the point of a headache.

    Next I�d reword �Stylesheet Switcher� to �Change Font Size.� The former may give the user the impression that they�ll get the old stylesheet, even with the iconic help directly below the words. I�d then take this entire block of code and switch its ‘above-the-fold‘ position with the somewhat buried Search box input form. Most browsers allow the user to change the font size on their own � while server-side searches on a site as chock-full of great content as Instapundit are likely to be in greater demand, or to quote the godfather of usability:

    “Search is the user’s lifeline for mastering complex websites. The best designs offer a simple search box on the home page and play down advanced search and scoping.” – Jakob Nielsen

    I would obfuscate the email address.

    With these quick fixes out of the way, I would strive to use a (generated) tableless layout. Not to prove I�m a hip-cool programmer guy, but primarily because it would allow me to switch to a variety of formats merely by switching the CSS. As it stands now, there is a separate PDA and Print page; the latter of which could be healed with a little bit of �Miracle Print.� I�d make sure the new layout had a footer that offered some simple text hyperlinks all of the useful navigation elements from the top.

    I think I�d then do something about reworking the archives page. There is quite a bit of information that I would think of interest to any one into history or political science. Especially anyone in the process of writing a book needing a roadmap on who said what regarding recent political events.

    If I did move the search form/block to the top, I would then rework the search results page to include revenue-bearing elements such as Google’s Adsense. After all, the user is explicitly conveying their immediate interest in the form of keywords and phrases, the exact information revenue-bearing programs use to determine who sees what ad. As long as you’re going to have ads on the page, go all the way.

    Again, please note, we�re talking tweaks here. Obviously this page has been rendered by a professional who knows what she’s doing. Given the great cloud of witlessness that plagues many weblogs and church web sites, I’d say there are plenty of positive elements on the newly designed Instapundit website that are worth emulating. That said, because the site is the gateway drug of blogging, I would like to see it as addictive as possible.

    What do you think? Leave a love note, lemme know.