Fatigue, typing too fast, dyslexia, crumbs in the keyboard and bad handwriting are just some of the causes that come to mind that might put your users on the wrong end of a 404 page. I’ve even known a case or two where a typo or programming error on my part has caused a user to bump up against the often ubiquitous “This page cannot be found” error.
In other words, mistakes happen, so anticipate them and give your users a graceful way of recovering from them.
At least that’s what I’m preaching … and will practice once I get back in town on my beefy DSL line at home. Until then, I’d like to direct your attention to a thorough article on the topic by the good people at A List Apart entitled “The Perfect 404” (hat tip to Gadetopia)
There they explain how and why it is important to not make your users feel like idiots. They also go onto explain some things you can do to help keep your users from wandering in the wilderness. Some of these points include:
A link to the site map (if you have one) and the home page.
A search box
A distinctly minimalist look
Along with these excellent suggestions, I’d suggest showing the users what page they actually typed in. If it’s a typo, they’ll see it and correct it. If it isn’t, then provide them a means of forwarding that information to your church or charity’s webmaster.
Why bother? Because users can get frustrated and leave when they don’t find what they want when they want it. Offering them some grace, along with a graceful recovery will go a long way to inviting and encouraging them to stay.
Not that we don’t have enough on our plate with planning, developing, implementing and maintaining our church websites, but we also need to take care that our content doesn’t make us sound like a bunch of know-nothing hicks. Think about it, if an individual is using the Internet to check out your church before they visit, then there’s a good bet they’re probably looking for something a bit more substantive than rambling pages of all bold, all red, all centered, flashing text screaming at you that the end is near.
Which is why I’d like to bring to your attention a useful little article entitled the ‘Seven deadly sins of web writing‘ by Gerry McGovern; who writes:
What’s the single most important thing that could improve the Web? It’s not broadband. It’s better writing. The general quality of writing on the Web is poor. The way you write has a major impact on what people think of you. Avoid these common mistakes and you will achieve more with your website.
Can I hear an amen?
As I’ve done with other such lists, here are some of the bullet points from the article, followed with my own explanation of how to avoid this on your church or charity website:
I think I’m God. All too often I see church websites where the content is either all about the pastor or worse, is polluted with useless ‘geekery‘ that is between the lines, showing-off. The solution to this is to make sure you stay servant hearted. That is, all content is to convey the purpose and personality of your organization in a way that builds-up, provides solutions and/or solves problems for visitors.
I go on and on and on … ‘Say it don’t spray it.‘ Keep your home pages brief. Put your best content above the fold. If your page requires more than one or two taps on the Page-Down key, then you need to divide and conquer your content. If your tome covers several topics, then you need to create sub-categories with each topic getting it’s own page. If you have a long article or sermon, then it should also get it’s own page. If you want to include some content from a recent sermon on another page, offer an abstract with a [read more] link to the whole shebang.
I can’t spell and I’ve awful grammar. We’ve all sin links to web pages that display embrarassing ‘signs and blunders‘ found in various church newsletters and bulletins. I’ve found the best trick here is to find someone in the chruch who does have good spelling and grammar, then set up a system with them by which they can proof read pending posts and/or report ugly errors.
I’m locked in a print view of the world. Remember, people don’t read web pages, they scan them. Likewise, not everyone uses the same browser and/or screen resolution. Neither do they have all the same fonts nor may they perceive color as you do. The best solution I’ve found is making sure the page layout is liquid, and the color/font scheme basic.
I’m not very good at writing headings. If you want people to visit your site via a search engine, then make sure that what you have between the <title> tags, along with the first twenty words of your text is compelling, gripping, riveting. If you can’t make that happen, find someone who can.
Actually, I don’t think content is very important.Father Flanders is continually preaching that ‘Content is King.’ Jakob Nielsen offers boatloads of data crying out the case for content. And from what I gather from the over 20,000 unique page reads over at the sermon’s sub-site at RBC, and the outcries from visitors when the sermons aren’t updated, content is everything.
Don’t have seven points if there are only six … Hah, hah, very funny.
How about you? Do you find the writing at most church websites compelling or crappy? Leave a comment and let me know.
For those of you reading this site via an aggregator, you might want to visit the visual example I’m providing my graphic-enabled browser equipped friends. It is a picture of a house in my neighborhood that goes a bit hog-wild when it comes to holiday decorations. And we’re not just talking Christmas, as you can see from an article I penned this past Easter entitled “Just Because You Can, Part 3.”
The point is, even though we’ve made great strides in creating a more usable and accessible Church online, there are still thousands of church and charity websites that offer the online equivalent of these over zealous neighbors. That is, they get so caught up in how things look that the message tends to get lost.
For example, check out the 60kb picture in all it’s glory, I’ll wait … Did you see the manger? It’s there, it’s just impossible to see among the four large inflatable snowmen, Santa Claus and Snoopy on his Dog house, candy canes, snowflakes hanging from trees and enough lights to illuminate all of Elizabeth City, New Jersey.
So with that in mind, let us resolve this next year to heal our church and charity websites of these encumberances as we keep our eyes on the prize …
… and with that, I want to wish all of you a very happy new year. 2003 has been great, in no small part because of the many of you who have participated in this little project. Thank you, and God Bless!
Originally published on March 24, 2003 when the war in Iraq was heating up and I found direct links to popular RSS news feeds were effecting the speed in which pages loaded on a friend’s blog whom I help maintain. I’m re-posting this article for reasons that will become obvious later this week. Until then, enjoy this “Spidering Hack!-)”
Adding some syndicated news feeds is a nice way of adding some compelling content to your site.
The problem is that sometimes the news feed gets overrun during heavy news days, go offline and/or suffers a host of other connectivity issues that make YOUR site load slow because the software holds your user hostage while the feed retrieval portion of the application has to wait to timeout. You see this alot with PHPNuke and PostNuke sites.
A simple way around this problem is to use a program that periodically retrieves the feed, slices-n-dices and effectively caches it into an easy to include file on your host. Doing this achieves five goals:
user page loads are not penalized when feeds go down
failures to connect do not harm the existing include file
multiple attempts to read the feed to not penalize user
feed can be mirrored for local/private use
content can be formatted to taste
Below is a little program I wrote Thursday to grab news feeds from an AP Wire I found via Scripting.com for inclusion on a the website of a friend who makes his living in the political area.
Using the following CRONTAB syntax, the program is executed every 30 minutes: 30 * * * * /home/YOURPATH/getap.pl>/dev/null
The nice thing about this approach is that this particular feed does “get busy” from time to time and at one point on Friday went offline. My users did not notice because in most cases, I was able to get by the “busy signal” on the 2nd or 3rd attempt out of 10. In the case where the feed site went offline, my users merely viewed and older include file without interruption or delay.
Anyway, since I haven’t posted anything worthwhile in the past few days, I figured this was a good penance:
What a great week. You guys (and gals) have really carried the ball in some excellent discussions of what it takes behind the scenes to get and keep the content on your church website current and compelling. As you can see, I just sat back and took it all in … which is good because it was the last comment by Ken at Apex Community Church that got me thinking when he wrote:
We decided to take the approach that our website was an extension of Sunday morning and Wednesday night. Just like we wouldn’t just hand the microphone to just anyone then, we don’t just hand the “keyboard” to anyone on the web. And, in reality, we do. We just take time to approve it. Any issues that arise from this aren’t just swept under the rug, we just deal with them offline.
This reminded of the Apostle Paul mentioned in his first letter to the Corinthians when dealing with the issue of order with regards to the public use of Spiritual Gifts, in which the man from Tarsus writes:
With that in mind, what approach then should we take to publishing content online? Should we as webservants become the singular conduit for getting information online, thereby creating a bottle-neck from a single point of view? Or should we open the gates wide and allow anyone to post anything on any topic without regards to the purpose and personality of the church?
Yes, I realized I just cited the radical extremes, but in showing them, I’m hoping we can all figure out some middle ground. For example, do we offer forums for prayer requests? If so, do we moderate them so we don’t have people dominating it with requests for their kitten with the sniffles? Similarly, I mentioned getting staff involved, but not all staff is all things to all people … or websites. Is it wise to cut them loose, or worse, let some post their own content why denying others?
Again, I’d be very interested in your responses. Oh yeah, and about that. They’ve all been sooooo good I suspect this weekend I’m going to pick and summarize some in some sort of post so you can discuss these on your own blogs as I think the more we talk about it, the wiser we become as a Body online.
Thanks again for all the intelligent, thoughtful and respectful debate. You make running HYCW such a joy!
It’s 11:59pm, I’m slouched in front of my computer thinking about a topic for tomorrow while in the background, I’ve initiated the all-night download of the most recent version of Knoppix, all 700 megabytes of it. Hey, if the Senate can stay up spinning their wheels, so can my computer? Provided that the high winds here near D.C. don’t blow down my DSL connection …
… hey wait … Congress is up all night talking … high winds here in Rockville … Canadian cold front my eye! … but I digress ..
Anyway, with the weekend upon us, I thought that those of you looking to download and burninate the latest and greatest distro of Fedora, OpenOffice or some other Linux-based fun, might not be aware that you can use Wget to download large applications … even when blowhards break your connection intermittently.
For those of you who don’t know, GNU Wget is a free software package for retrieving files using HTTP, HTTPS and FTP. It is a non-interactive commandline tool, so it may easily be called from scripts, cron jobs and in my case, a batch file.
By using this Wget with the –continue command to resume getting a partially-downloaded file after getting disconnected, in combination with the –no-clobber directive not to delete existing files … like the partially-downloaded I’ve been downloading all night … I can begin a download at 8pm, and then wake-up at 8am without worrying about disconnections during the time in between.
Below is an example of this in the form of a batch file I created on my Win2k machine to download Knoppix … a script that could just as easily be implemented in bash (just ignore the linewrap):
Church Sign Generator
Here is a link to a little bit of Friday Fun, the Church Sign Generator. You enter text into four fields, press the ‘Go’ buttona and PRESTO … it re-draws a picture of a First Baptist roadside sign-from-God with your own compelling ‘n’ kitchy come-to-church slogans … sorta like the ones the author of the program lists on his own blog.
As part of my ongoing online response to some great questions, I offer the following request by Colin Kuskie, webmaster for the Sunset Presbyterian Church:
Hi Dean,
My name is Colin Kuskie, and I’m Sunset Presbyterian Church’s
volunteer webmaster/hostmaster. I’m planning on moving our website,
www.sunsetpres.org, to a CMS, and I’d like to help secure staff
and member email addresses against spam by using your obfuscator
as a macro, but I couldn’t find anywhere to download the code from
your site.
Is it publicly available, and if so, could you please give me a
pointer as to how to find it?
Thank you,
Colin
p.s. Thank you very much for your online minstry. It’s one of
the things that convinced me to go to a CMS, and then to teach
myself CSS in order to implement it. I pray that God will you
your website to enable other churches to reach out with God’s
message to the world.
How can I say no to a request like that? So I emailed Colin back with the response “… Colin, stop it, my ego is already ‘well maximized’ enough!” … Actually, that’s not what I said, but I thought it might be fun to share a little opera singer humor with you. Go ahead, ask your minister of music about their well-optimized ego … but I digress …
Actually, my first response to Colin was “Macro? For what system?.” This wasn’t out of any suspicion, but more out of curiosity, and more out of concern that my original obfuscator hack wouldn’t integrate all that well as it was built into an online form generated using CGI.PM. Colin responded that he intends to integrate the code behind the Mean Dean Anti-Spam E-Mail Obfuscator(MDA-SE-MO) into a macro for a Perl-based content manglement system (CMS) named WebGUI. A robust system I’ve played with once or twice before, but don’t let my ease-of-use fool you. This is one CMS that requires you know Perl, paths and your site map before you go shooting your foot off of with it … but I digress …
CMS sorties aside, Colin’s question reminded me of this sage advice she’d offer whenever I’d leave the house: “make sure you have on clean underwear.” Not that it would help if the last thing I ever saw was an oncoming cement truck … but I digress …
So, if I’m going to put my code ‘out there,’ I had better tidy it up a bit, and put it into a easy to deploy, use and maintain Perl module. This way, he could use it for WebGUI, and I could use it for an upcoming MovableType plug-in … unless one of you kind souls comes up with it first … but I digress …
I also figured if I as going to put it ‘out there,’ I might as well add an option that might really, truly drive spammer’s nutzo … that is to render the hyperlink as inline javascript. Yes, I know 12% of all browsers have Javascript disabled, but then again, how many people using wGet or Curl are actually interested in sending me email? That said, it is for such reasons that I have in the past advocated including a form-based email solution on your church or charity website. All the more so if you’re going to use the inline javascript option on Obfuscator … but perhaps this tangent is better left as a topic for later discussion?
Anyway, below is the code for the new perl module behind the slightly improved online demonstration of the MDA-SE-MO:
# 2 randoms, 1st for hex vs ascii, then again for ascii vs plain
sub OB_randlet {
my($l) = @_;
my($r) = &OB_round(rand());
return sprintf(“%%%02x”,ord($l)) if $r;
$r = &OB_round(rand());
return sprintf(“&#%03d;”,ord($l)) if $r;
return $l;
}
# real numbers only
sub OB_round {
my($n) = @_;
return int($n + .5 * ($n <=> 0));
}
# hex it up a bit
sub OB_hexape {
my($s) = @_;
$s =~ s/([a-zA-Z0-9:\s\@_\-.])/uc sprintf(“%%%02x”,ord($1))/eg;
return $s;
}
1;
__END__
=head1 NAME
Obfuscator – mangles email addresses to fool dumb spambots
=head1 SYNOPSIS
use Obfuscator;
print OB_encode($email, $prompt, $title, $usejs) if OB_validmail($email);
$email – required string representing an email address, remember, in Perl
it’s my $email = “foo\@bar.com” … note the slash
$prompt – optional string of the prompt you want between the .. tags
$title – optional string that is used for title argument of tag
$usejs – renders obfuscated hyperlink as a javascript link
=head1 DESCRIPTION
Obfuscator randomly converts your entries into a combination of numeric and
hexadecimal encodings, as well as a salting of some non-converted characters
that will either hide your e-mail address from spambots and/or cause their
mailers to gag because they’re not expecting all three encoding in radom.
This program also obfuscates the prompts to give spambots less key words to
search, find and filche.
=head1 IMPROVEMENTS
* n/a
=head1 BUGS
* n/a
=head1 AUTHOR
Dean Peters
=head1 EXAMPLE
use Obfuscator;
my $email = “obfuscater\@healyourchurchwebsite.org”;
print “Problems? Questions? “.
OB_encode($email, “drop me a line.”,
“Problem? Praise? Email Me”, true)
if OB_validmail($email);
=head1 COPYRIGHT and LICENSE
Copyright (c) 2002-2003
Dean Peters
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the “Software”),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
The Software is not included in any commercial application or publication
without the expressed written permission of Dean Peters.
The Software is provided “as is”, without warranty of any kind, express or
implied, including but not limited to the warranties of merchantability,
fitness for a particular purpose and noninfringement. In no event shall
the authors or copyright holders be liable for any claim, damages or other
liability, whether in an action of contract, tort or otherwise, arising
from, out of or in connection with the Software or the use or other
dealings in the Software.
=cut
Yes, this obfuscator isn’t nearly as dastardly as the very cool and very effective online offering from HiveWare (hat tip to Mark Pilgrim) … perhaps by putting the Obfuscator.pm code ‘out there’ … someone will come up with an elegant “<noscript>” solution. I’ve already got one person who’s keen on optimizing the regular expressions … Colin, thank you.