New Look Geeks and God.com

The new look GeeksAndGod.com is here. After several weeks of redesign and dealing with design debt, that was built up from drupal 4.7, the new site is live and running drupal 6.

The image below is what the screen would look like for a logged in user. There are 4 blocks at the bottom giving a snapshot of what's going on in the community. Anonymous users see a slightly different look where the podcast is front and center and the blocks at the bottom are replaced with information about the site.

Some of the new features include reviews, tutorials, JavaScript goodness, and we imported thousands of forum posts and hundreds of users from Christian-Web-Masters.com.

At this point I won't dive into the details of how we built the site. The next podcast episode is going to dive into the technicalities.

gandg

The new G&G website was created by Innovating Tomorrow and Mustardseed Media.

Content You Don't Want To Be Popular

resurgence-page-not-foundResurgence, a ministry of Mars Hill Church built on drupal, had a bad piece of content in their popular content for the day. That would be their Page Not Found page. The landing page you hit when you went to a page on the site that doesn't exist. This page is by no means popular. In fact, this page may be the most unpopular and annoying page on the site. But, it shows us a great opportunity to look at a design flaw.

Note: While I don't know what algorithm they use to calculate the popularity of a page I'm going to assume it's based on page views. This is a common approach to calculating popularity, it's easy to implement, and it best explains how an error page became popular content.

The Algorithm

In reality there are at least 2 design flaws that are involved in an error page becoming popular. First, there is the algorithm that calculates popularity. How should that be counted? A simple assessment is the number of page views. But, this does not make content popular. It means it was viewed many times. One or a few people could have viewed it many times and tipped the scales. This is most likely the cause on the Resurgence website. I imagine a spam bot came through looking for a bunch of pages that don't exist triggering the Page Not Found page to become popular.

A better way to calculate popularity of content would be to take a number of characteristics (e.g., page views, unique visitors, some rating, number of comments, number of unique commenters) and use them to calculate the popularity. Also, remove your error pages from the available popularity options.

How Did It Get There?

The second, and less noticeable, design flaw is that in the sites architecture a person or robot was going to pages that don't exist. Where they pages that used to exist but are now gone? If so, a Page Not Found error is not what they should have seen. Especially one with no description like this one has. Instead an error message letting them know content is gone or moved and some information to help them find what they are looking for.

resurgence-page-not-found2

Free Drupal Theming Workshop

Want to learn how to build a drupal 6 theme start to finish from scratch in one day? That's the goal of a free drupal theming workshop coming up on October 11th being held just outside of Detroit, Michigan, USA at St. Matthew Lutheran Church. The workshop is being led by Bob Christenson of Mustardseed Media Inc and the Mustardseed Media Video Podcast, a videocast covering drupal development.

Click here for workshop specifics or to sign up for the workshop.

Mustardseed Media Video Podcast

mustardseed_media_videopodcasticon.jpgMustardseed Media, a company Innovating Tomorrow regularly partners with, recently launched a video podcast about web development focusing in on drupal development. This video podcast is unique compared to the ones I typically see in that it comes out regularly and offers low res and 720p HD resolution videos of each videocast. Plus, it has what might be the best introduction to any of the drupal videocasts I've seen so far.

These episodes don't focus on advanced development. Instead they cover the basic concepts and how tos new developers are asking and looking for.

Some of the recent episodes have focused on Imagefield and Imagecache, the Views Rotator module, module theming, podcasting With drupal 6, and Photoshop reflections.

If you're looking for some short and sweet drupal tutorial videos check out the Mustartseed Media Video Podcast.

Why To Implement Design for Accessibility

web-accessibility.jpgHave you ever wondered who benefits from creating an accessible design? One that meets the needs of people who have impairments like the vision impaired. When I think of people in this situation I usually envision someone who is blind and can't think of many blind people. This can give way to the feeling that there aren't that many people with impairments and on the basis of this it's easy to make designing an accessible site a low priority.

According to the U.S. Census Bureau there are up to 60 million Americans with disabilities that are trying to use a computer to learn and interact on the web. If you do that math that's roughly 20% of the U.S. population. Yet, awareness of this issue seems to be fairly low and many designers are building sites and web applications that aren't usable to this 20%.

Are you still having trouble envisioning who this 20% is? Let's look at one large group. Consider everyone with color blindness. In the U.S. about 7% of men are color blind. In Australia the number is 8% of men. These men, not only have trouble picking out matching clothes but, have trouble reading parts of the screen where different colors point out different things. Take for example a set of links in a blog post. Color them a different color from the rest of the text and remove the underlining (a commonly used technique). Someone without any vision issues can see them fine. Someone with color blindness is likely to miss the link denoted by a different coloring. And there you have an inaccessible design.

So, next time you create a new design or update an existing design consider making it an accessible design. There are a lot more people out there with accessibility issues that you might think.

Yet Another Drupal Aggregator Setup

When it comes to aggregating blogs in drupal there are any number of ways to do it (This is a big reason aggregation is being redesigned for the next major version of drupal). Most of these products are piece parts that need to be configured to work and aren't solutions out of the box. That's where the new Profile Blog Information module comes in.

The Profile Blog Information module ties in with the core profile and aggregator modules. Once enabled, fields appear on the users account screen to enter the blog title, url, and feed url. When a feed is entered the aggregator module pulls that feed so it can be displayed on a drupal site.

While this module works out of the box, there are a number of settings available for integration with the profile and aggregator modules.

If you're looking for a simple out of the box solution to pull in users blogs this may be the solution for you. If you're looking for something more advanced check out the SimpleFeed and FeedAPI modules.

Note: The Profile Blog Information module was developed by Innovating Tomorrow for Mustardseed Media.

Drupal 6 Development Can Be A Caching Pain

druplicon_small.pngDrupal provides some great caching tools to improve page loading performance. Production sites see huge speed increases because of caching. But, when a site is being developed caching can quickly turn into a nightmare. For example, when you add a new theme override function your to template.php file it isn't picked up right away and you may end up banging your head wondering what's going on. Or, when your developing filter code your filtered content may be cached. Going to the performance setting page and clearing the cache is annoying and a work flow problem. So, let's look at a couple simple solutions that can make development a little easier and less painful.

Cache Disable Module

Drupal wiz kid Dmitri Gaskin created the Cache Disable module which does just as it's name suggests. While some solutions clear the cache on every page load this module disables it. During development this is a great tool to use.

Clearing The Cache In Your Code

If you just want to clear part of the cache during development you can use some code snippets to do just that. For example, if you are developing a theme and just don't want the theme information to stay in the cache you could call drupal_rebuild_theme_registry() in your theme to rebuild the theme cache on every page load. A simple way to do this would be to add the following code snippet to the bottom of your page.tpl.php file.

<?php
  drupal_rebuild_theme_registry
();
?>

Other cache clearing functions you can use are cache_clear_all(), menu_rebuild(), and drupal_flush_all_caches(), which clears all possible caches including those that contributed modules use with the caching system.

Once the sites are ready for production these functions or modules we added should be removed so we can get all the caching benefits.

Give Your Input To The Next Geeks and God Conference

geeks-god-conference-logo.jpgWe just closed the door on the first Geeks and God conference and the planning has already started for the next conference. We are riding the wave of excitement and energy into planning the future of Geeks and God. The first planning meeting is this coming Friday!

I am looking for your help to make the next conference even more of a success than the first. If you have any thoughts, ideas, or suggestions regarding the next Geeks and God conference please comment on them here before Friday.

Geeks and God Conference Follow-up Thoughts

Geeks and God Conference Drupal Day Crowd

The Geeks and God Web 2.0 Conference was a success! We weren't sure what to expect at the first conference. The outcome was better than we could have expected and we have to thank everyone who was involved.

For those of you who are interested, photos of the conference are up on the Geeks and God flickr group

The information packed 3 day long conference was held at Michigan Theological Seminary, which I learned has one of the largest theological libraries in the United States. During the first 2 days of the conference we covered the theory of the web which ranged from blogs and podcasts to content management systems and community websites. The third day was 100% drupal. The conference was billed as having the attendees leaving the conference with a drupal site ready to go. For many, that's just what they got. But, a group of us decided to dive into some more advanced learning that ranged from understanding CCK and Views to jQuery and module development.

Bob and I learned a lot putting on the conference. Some of the notable things were how great it was to spend time with other Christian geeks working for the mission, the types of questions people have, and all the different expertise the people at the conference have to share with others.

The fun doesn't stop here. We have already decided to do another conference and the first steps to planning it have already started. So, keep a look out for the next Geeks and God Conference.

Bible Modules For Drupal

The Bible is the most popular (and possibly hated) book ever. It's popular enough that when the iTunes App store launched for the iphone and ipod touch a bible application was one of the most popular applications. There are more translations of the original text into English than any other book I've herd of or even imagined. So, it should come as no surprise that there are a couple ways to integrate the bible into a drupal installation.

Bible Module

The Bible Module provides a way to integrate the entire bible into your website. This module provides a means to read *.bc (bible context) files and display and use the bible within a site. Along with the bible there is Strong Number integration and some nice AJAX and JavaScript features.

For those of us operating out of English translations we might find this module of limited use because the popular English translations all have some copyright restrictions put on them. There are open and free bible translations available for this module.

One place the module seems to excel is in translations of the bible in other languages. There are, currently, translations in Chinese (traditional and simplified), Greek, Romanian, Russian, Serbian, and Taiwanese.

For more details on the project and bible translation downloads check out the modules homepage.

Scripture Filter Module

This simple module provides a filter for text entered in textareas. The filter scans text looking for bible references. When it finds a reference it converts it to a link pointing to that scripture. There are a number of translations including the NIV, ESV, NET, KJV, NKJR, and more.

RSS Feeds

Drupal modules provide a number of ways to integrate feeds into your sites and bible websites provide many feeds. For more details on some availabe feeds check out Bible Gateway and The ESV Bible.