Web Sites Are Easy

Piece ‘o cake, really.

Yeah – I know. You wouldn’t think so, the way MeanDean carries on here. With all his ranting and raving and “healing” of church websites gone bad, you might think that building a “good” church website (or any website, for that matter) is next to impossible, achievable only by Slashdot reading PDA-carrying geek who keeps a Wi-Fi enabled laptop on the bed stand for those middle-of-the-night dream-blogging episodes.

Phooey, I say. Building a website that would pass even the “Mean” test is easy.

Well….

Yes, qualifier time. Building a “good” website from a technical and presentation perspective — with a pleasing color palette, validated and accessible css-driven code, logical and well-organized navigation, proper copyright notice and privacy policy, along with any number of features like RSS feeds and daily Bible verses is easy. Even enabling the site to be frequently updated by technophobes by building it on a content management system is easy. Cheap, even.

These aspects of building a good website are easy because they’re challenges common to all websites, so those of us interested in building good church websites get a free ride on the backs of all the commercial developers out there. Commercial enterprise produces tools like color choosers, CSS-based layout generators, navigation generators and privacy policy models. If you get stuck trying to work with some of these tools, there are countless help resources on the web – mailing lists, discussion forums, or blogs where technical issues are discussed and solved.

But, the minute you move past the technical challenges and begin to ask questions like “What should this website say?” or “What should this website *do* for the church?”, or “How will we know if the site is successful?” or “what will we put there for members vs. non members?” you are guaranteed to get blank stares, drooping jaws, and schedule delays.

Content. What is it about content? Mention the importance of having good content during the site construction process, and you’ll get immediate agreement, heads nodding, everyone knows “content is king” on the web. Bill Gates did, back in 1996. Gerry McGovern has made a career out of web content – writing articles and books, and speaking to conferences and corporate customers about web content. Your site-team will probably have content ideas galore – the possibilities are always endless and brainstorming is fun.

So why is it then, when it comes time to post some content to the freshly-developed church web site so often church web-builders are left to “bulletin-diving” or “repurposing” content from existing newsletters or brochures? Why is the website so often updated reactively (if at all)?

Gerry McGovern, in his article Websites: easy to start, hard to manage” says

“One of the biggest problems websites face is that they lack proper planning in the design and development phase. Generally, the design of the website tends to overreach, in that what is built requires more staff to professionally manage than are available.”

I’m not convinced it’s a planning problem. I’ve been involved on site projects where the planning was quite detailed, formulating content needs from audience research, then tweaking needs by factoring in the business or organizational goals and staff skill set and availability. But plans are just that – plans – and they’re rarely executed word for word. Sometimes both the plan and the site collect the same dust.

So where is the disconnect?

I think the main issue behind poor websites — church or business — is that the people responsible for the site don’t understand that the true power of the web is storytelling.

Eh? Storytelling you ask? Shall we gather our laptops around a campfire now? Hear me out…

Curt Cloninger writes in his AListApart article,A Case for Web Storytelling”:

“Is the web a global network of connected computers? No, that’s the Internet. Is the web hyper text transfer protocol? Well, technically. But if the web is to be understood as a communications medium (the only useful way to understand it), then it must be more than computers talking to each other. Otherwise, mere data exchange would succeed. But the web is not a global network of connected computers. The web is a global network of connected people. And story-telling is still the most effective way to emotionally impact people.”

Cliff Allen echoes the same idea in his ClickZ article Tell a Story to Engage Your Audience”:

“There are many ways to organize product information to communicate with an audience. Facts are typically grouped by such things as how a product is used, what it’s priced at, or what is known about a particular audience. However, corporate web sites have overlooked a technique that people have used for thousands of years to convey information: storytelling.”

He goes on to say:

“It’s a little surprising that most corporate web sites don’t take advantage of this technique to capture attention and lead prospects to make a purchase or inquiry. Most corporate web sites present product information as a snapshot – saying here are all the reasons why you’ll like our product. They don’t recognize that the decision to buy is a process: A prospect becomes a customer by recognizing a problem, learning about solutions, researching products, and, finally, making the decision to purchase product A instead of product B.”

So here’s the core frustration of what’s starting to become a personal rant (sorry Dean, you did ask for something I was “passionate about”..;)). In one corner, we have the church website. No, let’s not call it a website. Let’s call it a “Story Container”. A searchable, accessible, readable, always-available, hyperlinked, cross-referenced story container. In the other corner, the Church has the best story. Indeed – The Greatest Story Ever Told. And countless related personal stories – stories of great faith, triumph over addictions, persistence through illness, gain from loss, and undeserved grace.

But we go on… presenting our churches like products – telling people why they’ll like our church (Relevant! Great Music! Fresh Coffee!) but so rarely simply telling the stories of what our church, our faith, and our God has meant to us, and the true change seen in our lives because of it. What is it going to take to wake the modern church to the power of connecting the two, and filling our websites with our own stories? Sadly, all too often our church websites could be the topic of this Shoe comic.

It’s those stories that members need to tell and visitors need to hear. Those stories are going to move people closer to God. And if our church websites aren’t moving people closer to God then we’re wasting our time.

C’mon. Tell me a story of when God was good to you. Oh..before you start…I’ll bet there are other people that would like to hear it too. Can I put it somewhere where they will find it when they need to?

Posted in Uncategorized

Why it’s a bad idea to use Social Security Numbers

On January 7, 2003, the Honorable Ron Paul representing the 14th Congressional District of the State of Texas stood on the floor of the House of Representatives and gave a speech in which he urged the Social Security Administration to issue new identifiers over the course of five years; identifiers that would strictly adhere to their original intent when Social Security Numbers were introduced in 1938. That is, the new ‘SSNs’ would be used strictly and exclusively for the needs of the Social Security Administration and none other.

Congressman Paul felt the need to issue such a strong statement because as a headline in the January 5th edition of USA Today warned: “Identity theft often begins with Social Security number.”

This is why I suspect so many convention-bound Republicans are a bit upset when a welcome email was a bit too inviting in that it inadvertently included the name, address, Social Security number, race and other personal information of said volunteers (source: NY NewsDay.com)

Sermonette

So here is my tidbit of advice to you. Do not, under any condition, use Social Security Numbers to track, organize or otherwise identify your church members. Period! Don’t do it!

Likewise, see if there is a firewall between your sensitive membership data and your web site and/or web server. If there isn’t, build one or hire a professional to get it done for you.

Additional Reading

Here is a list of some related links if you need more ammo to convince the members of your church council to spend the resources necessary to protect the privacy of your charity’s members and/or volunteers:

Posted in Uncategorized

The Amazing Bouncing Bible!

I love the ministry Mean Dean provides through this blog. Sometimes I’ll forward him small tokens of appreciation in the form of a link to a church web site that could use a healing touch, a news article of interest to Christian geeks, a site promoting a happier web experience, or a testimony to the “great cloud of witlessness.” So, last week when I noticed a kitschy new site in the #1 slot of the Fundamental Top 500, I had to pass it along. The home page sported, what I affectionately labeled, “The Amazing Bouncing Bible!” A cartoonish looking KJV 1611 shimmied across the screen and ricocheted within the browser window like a self-propelled pong puck. I nearly fell out of my chair laughing. The thing took Jesus Junk to a whole new level.

Dean felt that the site’s funky feature provided a good example of what not to do and he asked me to do a guest blog entry on it. I quickly agreed and then realized that I hadn’t a clue what the site was even about. On my first visit to the churchpoetry.com, I never looked past the moving graphic in the foreground. Which brings me to my main point. Apparently, the site owner thought that the bouncing Bible was very cool, but it completely detracted from his message. Remember, “Content is King“. Everything on your site should enhance and serve that content. If it doesn’t, leave it off.

UPDATE: The Church Poetry site has now removed the bouncing Bible but they have replaced it with an undulating string of text chasing your cursor around the screen. (sigh)

Posted in Uncategorized

Blogging: Web Publishing on the Cheap

What’s one thing many youth ministers and presidential candidates have in common with stay-at-home moms? They blog. Some blog about their cats while others offer essays on the relationship between dispensational eschatology and the Gross Domestic Product. Some even go as far as to render their entire church website using off-the-shelf weblogging software.

Whatever their passion, an increasing number of individuals from all walks of life are claiming their stake of the Internet homestead in the form of a weblog. So much so that this past March the popular blog-tracking service Technorati announced it had grown from 1.2 to 2.0 million registered blogs in just five months; that’s roughly one new blog every 11 seconds.

So phenomenal is the growth of blogs that a survey conducted by Perseus Development Corporation last October estimated the total number of blogs at 4.2 million; an astounding metric only offset by the fact that 66% of the blogs surveyed had not been updated for least two months.

Free Samples

One of the primary factors contributing to the rapid expansion, and abandonment, of weblogs is that they do not require a heavy investment in technology or training to establish and operate. In fact all you really need to test the waters is a browser, an email address and some sort of connection to the Internet.

Take for example Justin Baeder, an emerging church planter who originally established RadicalCongruency.com using Microsoft FrontPage to keep ministry supporters updated as to his team’s progress. Within a short time he and his team members soon found it difficult to update their website in the field so they switched to the free, “banner-ad enhanced” version of Blogger.

The diary-like nature of this hosted web service worked out so well that Justin soon upgraded to Blogger Pro, which not only removed the annoying banner-ads, but also gave them features such as the ability to create posts via email.

As the ministry team’s blogging expertise and bandwidth grew, they found themselves needing to move away from a hosted weblogging system to a full-blown weblog software application they could install and customize on their own web server. In the case of Justin’s team, they finally settled on WordPress after experimenting with Drupal.

It’s Cheap …

As demonstrated by RadicalCongruency.com’s eventual move to WordPress, another key factor contributing to the popularity of blogging is availability of a several inexpensive and/or free blogging software solutions that are specifically designed to solve one of the peskiest problems facing any website: keeping it updated and organized without breaking it.

A good example of this is Reverend Kevin Pierpont. For the longest time, this Baptist preacher ran his own personal weblog using the free, non-commercial version of MovableType. When he moved to a new congregation last year, he simply took his technical know-how and established a weblog-driven church website for Higgins Lake Baptist Church.

Citing a recent change in MovableType’s licensing and a need to change web hosts, Kevin is currently working on transitioning to another free blogging application known as TextPattern.

… and Easy

It isn’t just the availability of low or no cost solutions that is making blogging a popular mechanism for web site publishing. One huge factor in the growing success of blogging is the relative ease of use.

This is because the process driving the design of most weblogging applications is relatively simple. That is, once you input your text via an online form (or email), you need only sit back and let the blogging software:

  • stores the text chronologically in a database;
  • publish the text using a pre-defined format (template) of your choice;
  • automatically insert the new entry into searchable archives and syndication files;
  • depending on which system you’re using, make email notifications.

In other words, if your church secretary can order a book from Amazon.com, then it is likely she can be trained to publish the pastor’s weekly message armed with little more than Microsoft Internet Explorer – and a healthy avoidance for any button that reads “Delete Post.”

Poor Man’s Content ‘Manglement’

Like many forms of Internet communications, blogging affords your ministry the ability to broadcast your message to a much larger audience with greater immediacy. For example, many churches have already reduced their expenses by delivering newsletters and pastoral messages by means of listservs, majordomos and other email list mechanisms.

While these mechanisms save paper and postage (and with apologies to Romans 10:14-15) how are people going to get email if they don’t know the listserv exists, and how are they going to know the listserv exists if you don’t advertise it somewhere, and how are you going to simultaneously advertise and register members of your extended electronic congregation if they can’t read all of the compelling content you created over the past six years, and how are you going to publish, organize, publish and make searchable four years of your compelling content without some form of content management? Questions which explain why blogs are becoming an increasingly popular answer for pastors, youth ministers and missionaries looking to chronicle their good works. Case in point, the Lakeshore Community Church of Rochester, NY.

Like Pastor Pierpont, Lakeshore communications director Scott Houchin was using MovableType to blog about his daughter. In the meantime, Lakeshore Community Church had switched from NetObjects Fusion to MacroMedia’s Dreamweaver to render their static church website.

Encumbered by a variety of site maintenance issues, like not breaking the menu system when a page is added, Scott opted parlay his blogging know-how to publish and distribute Lakeshore’s newsletter. Noting the ease in which entries could be made from any authorized user at any location, Lakeshore Community Church recently replaced their Dreamweaver-based website with a highly customized implementation of MovableType.

While most missionaries and youth ministers I visit employ only slightly modified versions of the default templates that come with their particular blogging system, success stories such as Lakeshore Community and Higgins Lake are possible because blogging systems store their information in some form of a database, and because they publish data through some form of a boilerplate – or ‘template system’ to be more concise.

It is also the database-driven nature of the weblog that makes it relatively easy for the Webmaster in my first two examples to move from one blogging system to another; not to mention radically simplifying backups and restorations.

Multiple Ministry Microsites

Another feature that often attracts churches, schools and other charities to blogging is the ability to support multiple users over multiple weblogs.

One effective way to make this work is to create target subdomains for each of the multiple blogs – or what are commonly called ‘microsites’ – then assign a willing and helpful helpful layperson to maintain the content of each. Here is an example of how this may play out:

  • carybaptist.org – the main website for your church
  • youth.carybaptist.org – the youth ministry
  • sermons.carybaptist.org – a sermons archive
  • music.carybaptist.org – the music and praise portion

Another idea is to use the multi-blog feature of your blogging tool to create special one-time-only sites, such as when your church is offering disaster relief for a particular hurricane and/or an emphasis on a media event such as Mel Gibson’s Passion of the Christ.RedlandBaptistChurch.org comes to mind, perhaps because it is also the website for my home church.

Using a single weblog application on a single Linux-based web server, I have created numerous microsites, each specific to a particular ministry or a one-time Evangelistic outreach. They are:

  • The main Redland Baptist website
  • Redland Youth Ministries
  • Redland’s Music Ministry
  • Sermons – Six years of compelling content
  • Christmas/Advent devotional
  • The Passion of the Christ – an Easter Evangelistic Outreach

As an example of how this works, back in March, Redland ran an Easter evangelistic outreach based upon the large public response to Mel Gibon’s ‘The Passion of the Christ.’ From the seclusion of my basement I took one of the ‘stock templates’ that came with our particular blogging system, modified it to taste and produced passion.redlandbaptistchurch.org. I then created an account for a layperson that in turn used her browser to post daily devotionals from the comfort of her living room without having to worry about HTML, FTP and a host of other technical details.

I also saved our lovely layperson the convenience of having to hyperlink Scripture references to an online Bible by writing a plug-in. Many weblog systems give programmers the ability to extend the default capability by offering a programmer’s interface into the blogging application. My Scripturizer plugin for MoveableType and WordPress is one such example.
Caveats

Now that I’ve made blogging sound better than sliced-bread, let me warn you – just as the mere purchase of a hammer does not fix your roofing problem, neither does establishing a blog solve your ministry’s web publishing issues.

To be successful with blogging, you need to start out small, with baby steps. Here are some places you may want to look at before you leap:

Once you’re up to speed on all the hip-cool lingo associated with the ‘blogosphere’ you may want to dabble a bit yourself. Below are two links to help you decide which blogging solution may best suit your needs:

Warning, the above articles will display a variety of features likely to make you drool. Please resist the temptation to run into a steering committee meeting, waving this article and demanding they replace your entire church website with a blogging application.

For example, if your church is moving towards a layperson-driven model that requires an extensive Intranet that includes both membership and content management, then you’re more likely to want to use a non-blogging solution such as Church Community Builder.

With this warning in mind, I STRONGLY urge you make sure a blog is the right tool for the job. Your hammer isn’t going to do you much good for a job requiring … oh let’s say a chainsaw.

Resources

That said here in alphabetical order, are some blogging systems you want to experiment with. The first list includes some popular hosted blogging services while the second list enumerates just some blogging applications that you run on your own server.:

Hosted Blogging Services:

Blogging Software Applications … in alphanumeric order:

Of course, your mileage may vary. You may not find bogging suits your needs — a how-to-figure-it-out topic I’ll cover in greater detail in a couple of weeks. That said, if you’re still confused, have a preference or just wanna say hi, leave me a comment here and I’ll do my best to answer your questions, or at least point you in the right direction if I can’t.

– – – – – § – – – – –

The above, by me, article appeared in print in July/August 2004 edition of Christian Computng Magazine.

Posted in Uncategorized

Automated Posting of Deferred MovableType Entries

SYNOPSIS

Trickle [-b blog_id] [-c category] [-p]

DESCRIPTION

Trickle allows automated posting of deferred Movable Type entries. To use, create a category called ‘Deferred’, place entries in ‘Draft’ status, add them to the ‘Deferred’ category, and set the created date to the date when the item should be posted.

Trickle can be used with cron or some other task scheduling mechanism.

In case you missed it in the above definition, Trickle is a nice little piece of Perl designed for those of us who have yet to upgrade to MovableType 3.x who want and/or need to defer posts.

For example, while I write my posts late at night, I prefer they were posted somewhere between 9:30 and 11AM EST. I also prefer to stay employed – Trickle gets this done for me. I write my post (late at night) and then:

  • save it as a draft
  • give it a date/time stamp in the future
  • assign the secondary category ‘Deferred’ to the post
  • wait for perl and crontab to do the rest.

So What?!

How does this relate to your church website? How about your sermons page? If your pastor is like mine, he’ll email you the sermon on Saturday night with a request not to post it until the sermon has been preached.

I can now defer posts to 1PM so individuals arriving home after a lunch at Ledo’s can enjoy a second serving of some tasty theology.

This code is also a good example of how to employ the MovableType API to write custom applications that work outside the definition of a plug-in.

Show your love

What about you? Does your publishing/blog tool provide a mechanism for deferred posts? If so, leave a comment. Can you think of another situation in which this might be useful? If so, leave a comment. Got a question … you get the picture.

Oh by the way, it is now 11:55 PM on August 25, 2004 … even though the timestamp of this post might say otherwise … thanks good’ol crontab:

0 9 * * * perl /home/useraccount/www/cgi-bin/mt/trickle.pl>/dev/null
Posted in Uncategorized

Data Driven – what, when and how

I love emails like this, they remind me that not everyone out there doing church websites has paid for the pleasure of having a nice, but somewhat nutty professor ram C.J.Date’s “An Introduction to Database Systems” in one ear and out the other until I could de-normalize data to the fifth level in my sleep:

Dean,

A few weeks ago I fell into the middle of your site and have been soaking up all i can. I’ve read The Book and a year and a half of your archives. One concept that’s geekin’ me out is that of a data-driven site. Huh? I never heard o’ dat.

What -in all plainess- is it, and when is it appropriate/necessary? My hunch is that i don’t know enough to need it yet, but hey, maybe you’re gonna revolutionize my notepad-html routine. If not, it would at least be cool to have an idea of what’s flying over my head.

Anyway, good job, man. You’re inspiring techpentace. I take comfort in that.
Peace of Christ to you,

AlaskanAficionado

Emails like the one above are as flattering as they are also a convicting. One one hand, such messages assure me that my graduate studies weren’t a total of waste of time and money. On the other hand, such letters remind me of those times I neglect my mission to make the difficult concepts of computer science easy for those of you whose expertise is in other fields, but are likewise called to design and maintain the websites for your favorite churches and charities.

The above note from is a AlaskanAficionado is a good example of this. That is, while I’ve mentioned data-driven website design once or thrice, I’ve done so without taking the time to explain what a data-driven website is, when it’s useful and how it’s done. Massive mea culprits … for my penance, I’ve assigned myself a binary tree that I need to recurse using nothng but 80n86 assembler … but I digress.

What it is

At the risk of having my uber-geek credentials revoked, a data-driven website simply means that all of the pages on the website are created using a combination of boilerplates (a.k.a. templates) for the page layout, and a database or datafiles for the compelling content. If this explanation doesn’t help, then perhaps this oversimplified diagram will:

an oversimplified diagram of data driven web page production

Think of it as water, two parts hydrogen (the boilerplates) and one part oxygen (the data) and viola, water.

When to use it

If your website is only going to be five pages of the same text forever to the same client application (e.g. your browser), then you don’t need a data-driven website.

If, however you are going to publish new and changing content on an ongoing basis, then you’re better off putting the content in a database and using some form of content management to publish your website.

Similarly, if you are going to take the same compelling content and display it in a variety of formats, then you’re better off using a data-driven approach.

How it’s done

Weblogs such as my site store content in a MySQL database. The boilerplates are comprised of a number of scripts written in the Perl programming language that include some database queries along with some templates defined by the manufacturer of the weblog software. The HTML pages you eventually read are physically created when the Perl programs are run through the Perl interpreter.

Website’s such as Mike Boyink’s relaunch of ParentPager.com also use a relational database, but use a programming language known as PHP as the boilerplate. Additionaly, the output HTML file is virtual; that is when you visit the site the web server runs the PHP file that extracts the necessary data from the database and delivers to your browser HTML on-the-fly.

Some people prefer WYSIWYG physical page creation using web-publishing tools such as Macromedia Dreamweaver and/or Microsoft FrontPage. In the case of the former, you’re ‘supposed’ to create a template page for your website (the boilerplate). Then whenever you need to create a new page, you use the template you’ve pre-defined – dumping data from your brain (the database) and resulting in an HTML file.

Finally, there is XSLT, which is short for Extensible Stylesheet Language Transformations and can be used to create both physical and/or virtual output. Basically the database is replaced with XML files. The boilerplates, XSL files. Then using a transformation engine/processor, the two files are used to produce human readable content – usually HTML. I offer an example of this in my June 24, 2004 post “Using XSLT to Transform the RSS 2.0 Daily Verse feed from the ESV Bible.”

1 + 2 = 3

So there you have it in a nutshell. By separating the compelling content into some form of storage, and by creating default layouts via program/scripts that use the data, you can:

  • create dynamic sites on the fly,
  • quickly back-up and restore data
  • manage, categorize and manipulate content
  • make content searchable

At least that’s why I do it. Here are some other related articles that also enumerate additional reasons why and how there might be a data-driven website in your future (or not):

Oh, and leave a comment if you have any questions – or want to offer a clarification or additional reason for going data-driven – or not.

Posted in Uncategorized

Solve THEIR problems – don’t bother them with YOURS!

Imagine going to a church where upon arriving in their parking lot, a ‘greeter’ utters some miraculous word of faith that reduces your roomy GMC Youkon XL Denali into a MINI Cooper. Would you ever go back? I wouldn’t, I need my Toyota T100 extended cab pick-um-up-truck to haul all my old C programming books to the recycling drop-off … but I digress.

I bring up this analogy of unwanted car shrinkage because of some evil JavaScript offered by the good folks at the “Grand View Baptist Church (GVBC) Beavercreek, Oregon,” that to me, has a similarly chilling effect because as Vincent Flanders so succinctly put it in his second book: “… someone forgot that a Web site exists to solve problems — not the site owner’s problems, not the Web site designer’s problems, the Web site visitor’s problems.

The Problem

Here is what I suspect happened, GVBC is using a Flash-based banner that also doubles as a menu system. Because it has all the height and weight that a Flash animation brings with it, they’ve opted to use Frames, the top one to contain the Flash Banner Menu (FBM), the bottom frame to contain the content.

Unfortunately, it appears that the FBM for GVBC is rendered at a fixed width of 750 pixels. So on their Parent Frame Page (PFP) they solve THEIR problem by forcing a resize AND a repositioning of MY browser using the following script:

<script language=”JavaScript”>
self.moveTo(0,0)
self.resizeTo(750,window.screen.availHeight);
</script>

DON’T DO THAT (DDT)! Ever! I don’t re-arrange your furniture when I visit your house, don’t mess with my computer’s browser!

The Solution

While the GVBC has compelling content, the navigation is a killer – and the resize/reposition gimmick is a show-stopper. People might deal with the former, but they’re just not going to put up with the latter; especially when you can simply render the banner image as a .JPEG and employ a little CSS to get the menus to flash a light blue when you mouseover a hyperlink.

Doing this would not only eliminate the need for frames, but would give the webmaster the option of aligning the menu and/or the banner via a variety of means – yes, I’m talking tables for those whose CSS skills aren’t as advanced as David Shea’s.

Another benefit of de-coupling the menu from the banner, is that it gives you the ability to update add or edit items without having to monkey with the graphic.

One other thing I might do is create an “overview” page for each of the main menu categories. This way when you click on the one of the choices, you get a summary of the sub pages instead of a sub-menu change over content from another section (very confusing).

Whatta you guys think? Leave a comment with a solution – or commiserate with my minimized browser width. Just remember to play nice.

Posted in Uncategorized

What’s the diff … ?

SYNOPSIS

diff [options] from-file to-file

DESCRIPTION

In the simplest case, diff compares the contents of the two files from-file and to-file. A file name of – stands for text read from the standard input. As a special case, diff – – compares a copy of standard input to itself.

Here is an essential utility from the *nix world for those of you ‘shooting your foot clean-off‘ developing data-driven, dynamically-generated web content for your church or charity.

As the above definition from the ‘man‘ page describes, diff is a utility that compares to text files. Below is a sample session that shows how diff might be used in combination with wget in a real-World situation:

wget “http://www.csszengarden.com/?cssfile=/001/001.css&page=0” -O test001.html
wget “http://www.csszengarden.com/?cssfile=/002/002.css&page=0” -O test002.html
diff test001.html test002.html > whatsthediff.txt

Here’s a snippet of the output I piped into ‘whatsthediff.txt:’

16c16
< @import “/001/001.css”;

> @import “/002/002.css”;

There are a variety of options which can be used to customize the output so the results aren’t as cryptic, but generally the plain vanilla output works fine for me. ‘diff’ is also yet another compelling reason to install the UnxUtils on any Windows-based system on which you develop software.

For those of you who prefer a more ‘GUI-fried‘ interface, Keith Devens has compiled a rather short but sweet list of ‘Differencing Programs‘ including a nice little freebie by the name of “ComponentSoftware Diff for Windows” or “CDiff” for short. Another solution is Microsoft SDK Windiff utility.

Whatever your preference, a differencing program can be a big help when comparing the output from dynamically-generated web pages … or when you need to compare last night’s programming effort against last week’s.

Posted in Uncategorized

Rooting about the CSS Zen Garden

Back when colleges and universities were still primarily in the business of teaching, budding musicians and artists would learn their craft through a variety of tried and tested techniques; one of these was copying. Note-for-note or stroke-for-stroke, a promising protégé would duplicate the work of one of the great masters.

Freshman Years

Some twenty five years later, I still remember my eyes getting bleary as I copied the J. S. Bach chorale prelude “Wachet auf, ruft uns die Stimme;” now available to you in convenient PDF format.

In between measures and erasures, I began to see the sense in this exercise as I began to see the genius of Bach. So indelible were the images of how he wove his melodies through an almost perfect juxtaposition of chord structures that I recall how a year later I aced a music theory exam in which I was required to write my own little 4 part chorale.

A Walk in the Park

It is with this unforgettable teaching method in mind that I find myself frequently strolling about the CSS Zen Garden; viewing, copy and experimenting with the source to see what makes a particular page tick.

For those of you who are unaware of this website, it is a teaching project in which students must modify the look and feel of a web page without touching a single line of HTML. Instead they must find ingenious ways of getting an associated CSS file to do their bidding. Often this occurs after copiously copying and then modifying the works of some of the Internet’s CSS Masters.

See Dean's ZenGarden rendering of blogs4GodBeing the glutton for punishment that I am, and having a recent ‘personal assignment‘ that required me to do so, I’ve begun stringing-off my own plot of the CSS Garden. My first attempt is a do-over of blogs4God. Well, it’s not really a do-over as it is a whimsical rendering using nothing but CSS and some kitschy-but-fun graphics I created for the occasion.

First Fruits

Why not give the page a look see, then come back here and leave comments. Moreover, if you find something really out of place on your browser, drop me a line and perhaps a low-res screen shot so you can share in the fruits of my labor.

Recommended Reading Doing

Since we are called to be doers and not just hearers, or in this case, readers — why not visit the CSS Zen Garden? And just to show you that I practice what I preach, I’m going to try my hand at a blogs4God do-over. Either way leave me a comment if you have any questions, quips, concerns or examples you want to share.
–>

Posted in Uncategorized

Mr. Zeldman meet Mike Boyink, one of ‘The New Samaritans’

During my short career as an opera singer in NYC, I lived by some hard and fast rules; one of these personal mandates being:

“Avoid singing for free, and under NO circumstances should you pay to sing.”

Why – that is why pass on some opportunities to “showcase” my talents merely because of money? Because it was my experience that those of us who were paid, even just a modest honorarium, were invariably treated better than those who weren’t; while those who paid to “showcase” their talents were routinely treated like crap.

After reading Jeffrey Zeldman’s post entitled “The New Samaritans,” and the Wired Magazine article on which the post was based “Changing the Face of Web Surfing,” I wonder sometimes if those of us who provide free web design services for churches wouldn’t get a bit more respect if we didn’t send said charities a bill for our services?

The Odeon Saga

Consider the case cited both by Zeldman and Wired of Matthew Somerville, an Oxford University math graduate who out of frustration redesigned the website Britain’s Odeon cinema chain – gratis. In fact, this free work was so stellar that Zeldman wrote:

“Mr Somerville did Odeon a favor by solving some of the site’s worst problems …”

How did Odeon respond to not having to spend thousands of dollars to enlist a top-notch ‘do-over’ firm such as 37Signals? Again quoting Mr. Zeldman:

“As it turns out, Odeon has hired a consultancy that specializes in the very work Mr Somerville did free.”

Ridge Point

Now if this sounds vaguely familiar to some of you, it is because it smacks of a similar treatment Mike Boyink received after volunteering $7,500 worth of billable hours to develop one of the premier church websites on the Internet; Ridge Point Community Church.

Here’s a very quick chronology for those of you unfamiliar with the story:

  • November 10, 2003 – After 18 months of work, Mike Boyink announces a pMachine-driven redesign of the Ridge Point Community Church website.
  • April 14, 2004 – Pastor Jim Liske announces that “The internet is always changing and Ridge Point is changing its website to include everything the old one had and more! After the changeover occurs, you will need to re-register on the site.Translation: Ridge Point decides to shelf the Boyink/pMachine design in favor of a Braunius/e-zekiel design whose sense and sensibility is best described by Tim Bednar in his “Open Letter to Pastor Jim Liske of Ridge Point Church.”
  • June 4, 2004 – Pastor Jim Liske announces a return to the Boyink/pMachine design.

Having gone through a similar situation myself, NOT at Redland where I’m currently blessed with a VERY grateful and gracious staff, but at my prior church, I can understand “shock and sadness” expressed by Mr. Boyink. I also understand why Mike, like myself, opted to take his talents elsewhere.

What Would Zeldman Do?

Realizing that those us who donate our time and skill to our church’s websites are not in it for Earthly rewards or recognition, and taking into account scenarios such as the Somerville/Odean and/or the Boyink/RidgePoint redesigns in mind, the killer question for this weekend’s discussion is: “what would you do in a similar situation?

For example, would you send the church a bill, which upon its receipt, you’d show up at the church office with a rubber stamp and mark the bill “Paid In Full?” Or would quietly you stick it out, even if it meant dealing with type A++ ministers with a penchant for micro-management?

It’s the weekend, let’s discuss:

Posted in Uncategorized