What can we expect from HTML 5?

The World Wide Web Consortium (W3C) has been working to set the specifications for the new HTML 5. They have produced a document that outlines all the changes, deletions, and additions. This draft is very long and a little tiring to read, so I've tried to create a short summary of important parts. This summary is by no means all inclusive or a replacement for the information in the draft on the W3C's website.
- New Elements - These new elements are intended to provide better structure.
- section, article, aside, header, footer, nav, dialog, figure, audio, video, embed, mark, meter, time, canvas, command, datagrid, details, datalist, datatemplate, rule, nest, event-source, output, progress, ruby, rt, rb
- New Attributes - The elements listed below have had attributes added to them. There are too many attributes to list in this summary, so I am only listing the elements that have had attributes added.
- a, area, base, value, meta, input, output, select, textarea, button, fieldset, form, textarea, menu, style, script, html, ol, link, iframe
- Changed Elements - These elements have been changed to reflect the way they were being used.
- a, address, b, i, hr, label, menu, small, strong, q
- Deleted Elements - These elements have been removed either because they should be used in CSS, they had a lack of usability, or they were confusing.
- basefont, big, center, font, s, strike, tt, u, frame, frameset, noframes, acronym, applet, isindex, dir
- Deleted Attributes - These attributes have been removed because these, like some of the deleted elements above, they should be used in CSS.
- accesskey, rev, charset, shape, coords, longdesc, target, nohref, profile, version, name, scheme, archive, classid, codebase, codetype, declare, standby, valuetype, type, language, summary, axis, abbr, scope, headers
- align, alink, link, text, vlink, background, bgcolor, border, cellpadding, cellspacing, char, charoff, clear, compact, frame, frameborder, height, hspace, vspace, marginheight, marginwidth, noshade, nowrap, rules, scrolling, size, type, valign, width
- New APIs -HTML5 introduces some new APIs for easier web application creation.
- 2D Drawing, audio, video, persistant storage, offline, editing, drag & drop, network, notification, history, cross document messaging, server sent events
- HTMLDocument Extensions - These provide easier interfacing with the DOM.
- getElementsByClassName(), innerHTML, activeElement, hasFocus, getSelection(), designMode, execCommand()
- HTMLElement Extensions - These provide easier interfacing with the DOM.
- getElementsByClassName(), innerHTML, classList
Although I tried to create a detailed summary, there is a lot more not covered here. I would encourage you to read over the new specifications and get a better idea of what HTML 5 is all about. For instance, the deleted attributes are removed from specific elements, so be sure to look over the full documentation before getting too worried about any changes made in HTML 5.
Although this release was a working draft published on January 22, 2008, it is expected to be in development for at least another year if not more.
What do you think about the new HTML 5? Do you have anything to add to the summary? Leave 'em in the comments for all of us to learn from.
10 WordPress Plugins Everyone Should Have
As a follow up to my earlier post on how to create your own wordpress widget, I have compiled a list of wordpress plugins that everyone should have. You don't necessarily have to use them all the time; however, they should be installed and ready to go. The list is in no particular order.
- WP Google Analytics - Easily integrate your Google Analytics code into your wordpress blog and start gaining insights into your traffic.
- FeedBurner FeedSmith - Easily redirect all your feed traffic to your feedburner account.
- WP-Polls - Add polls to your sidebar or any post with this easy to use poll plugin.
- WP-PostRatings - Allow readers to vote on and rate your posts. Easy to use and integrate ajax implementation.
- WP-PostViews - Track and display how many times your post has been viewed.
- Sociable - Allow readers to add your post to the major social networks in the click of a button.
- Google Sitemaps Generator - Recommended for serious bloggers. This plugin generates sitemaps to Google's specifications for better SEO.
- CForms - Great contact form; easily allows visitors to contact you through a form instead of an email address.
- Search-Highlighter - Seeing my search keyword highlighted in a post makes my life a lot easier.
- All in One SEO Pack - This is the most advanced plugin on the list. It helps get your SEO rankings higher, but may take a little tweaking.
[poll id="4"]
What plugins do you use and find helpful? Let us know in the comments.
Discover the Power of Cron Jobs

Cron jobs are commands run by the unix program cron. The cron program takes a specific syntax and runs the command at every time interval set by the user. These are used to automate scripts of all kinds. There are a lot of uses out there for setting up crons with web applications. As webmasters, if we can harness the power of the cron application, we can use cron jobs to our advantage in a number of ways. Let's get right into it.
- How do you set up a cron job?
- The first assumption I'm making is that you have access to cron jobs through your own web server or your web host's control panel.
- The syntax for a cron job is "minute hour dom month dow user command"
- minute - This is a numeric value that can be set between 0 and 59. The cron will run at this minute of the hour.
- hour - This is a numeric value that can be set between 0 and 23 where 0 represents midnight. The cron will run at this hour of the day.
- day of month (dom) - This is a numeric value that can be set between 1 and 31. The max value is dependent on the month you will select next.
- month - This is a numerical value that can be set between 0 and 12.
- day of week (dow) - This is a numerical value that can be set between 0 and 6.
- user - This is the user that will execute the command.
- command - This is the actual unix command that will be executed by the user specified at the specific day and time selected.
- A * may be used for any of the day or time values if you do not wish to specify one.
- How can we use the power of a cron job?
- Cron accepts some special values for times and day/date values in order to meet the needs of as many users as possible:
- Lists – Lists are accepted in a comma-separated list set.
- Ex: dow = 1,3,5. This would schedule the cron job to run on Monday, Wednesday, and Friday.
- Ex: dow = 1-5. This would schedule the cron job to run Monday through Friday.
- Steps – Steps are accepted in a division style format.
- Ex: hours = */4. This would schedule the cron job to run every four hours.
- Lists and Steps can be combined to arrive at the desired schedule.
- Lists – Lists are accepted in a comma-separated list set.
- Cron accepts some special values for times and day/date values in order to meet the needs of as many users as possible:
- Examples:
- 30 2 * 6 0 startrak118 php -q /home/www/site_backup.php – This cron would execute the site_backup.php file from the /home/www/ directory through php every Sunday of June at 2:30 am.
- 0 */4 * * * startrak118 php –q /home/www/site_stats.php – This cron job would execute the site_stats.php file from the /home/www/ directory through php every four hours.
Do you have any good tips or pointers to help us understand cron better? Leave us some comments so we can continue to discover the power of cron jobs.
Add Our New Facebook Application
Friday, June 13, 2008 | Announcement, General 0 Comments
I am pleased to announce that I have created my first Facebook application for the blog. The application will show the 5 latest posts from the blog in order to keep you up to date on the latest info. The application will add a profile box to your profile containing links to the 5 latest posts. There isn't any detail from the post in the profile box, just the title as a link.
Be sure to check it out here and add it to your profile!
10 Most Common Church Website Features
A church website needs to offer its members and visitors a feature set that will keep them engaged and interested in knowing more about the church and its ministries. This will keep them visiting the site on a continual basis and keep members informed and connected. The following is a list of some of the most common features on church websites:
- Calendar - A calendar keeps members and visitors alike aware of what is happening at the church and how they can get involved.
- Sermon Audio & Video - There are multiple reasons that churches post sermon audio and video on their website. Members travel and aren't always able to be at their normal church and like to see what they missed. Visitors that aren't members of the church often listen to other pastors that they have visited or heard before. This feature also allows individuals who are considering joining or trying your church the opportunity to hear what is important to your church.
- Podcasts - Apple iTunes has become the most popular music site. Podcasts are typically sermons, but sometimes worship music that are posted to iTunes. This is an amazing way to keep visitors because so many people are already connected to iTunes.
- Newsletter - Newsletters have been around for quite a while; the reason for this is due to their success at keeping people connected and aware of updates.
- Photos - Photos let a visitor see the congregation and help potential visitors feel more comfortable before they ever step foot in the door. Photos of baptisms, dedications, and children's services can also give potential visitors an idea of what to expect at your church services. This is a great way for members, visitors, potential visitors and guests to feel like they're connected to your church.
- Prayer Requests - Although most churches have prayer requests on Sunday mornings around services, there is a constant need for prayer at all times. "Pray without ceasing" (1Thess. 5:17). An online prayer request area keeps everyone praying for needs that happen throughout the week.
- Online Donations - Donations are always helpful to a church, beyond the typical tithes and offerings taken during the services. The extra can help with side projects or extra missions programs or an endless amount of other possible ministries.
- Staff Pages - About pages are a necessity. They offer a slight glimpse into the lives and worlds of a church's leaders and staff.
- Blogs - Blogs are used to offer the visitors some insight as to how the church bloggers (usually leaders) see the world and its issues. This is a great way to let your visitors get to know the pastors and leaders on a personal level.
- Daily Verse/Daily Bible Reading - A daily verse or Bible reading schedule is a good way to keep a steady stream of traffic on your church's website. It also assists and encourages people to read the Bible on a regular basis and can even help them memorize some scripture.
What are your favorite church website features? What features are needed? Tell us in the comments what you think.
A Guide To Promoting Your Website

It is not an easy task to be the webmaster of a website. There are a lot of responsibilities that come along with having the webmaster@yoursite.com email address forwarded to yours. The responsibility I am focusing on for this post is website promotion. Thankfully, there are multiple ways to do self-promotion and increase the amount of visitors your website has.
- Prayer and Praise - Prayer is the best way to promote your site. Give God what's on your heart, and he will take care of you. If you are pursuing the path God has laid out for you, then your constant prayer and praise will give you more return on your investment than you could ever measure. God is the God of miracles; he can do through you what you cannot imagine! Give all the glory to God!
- Word of Mouth - I have found that spreading the word to your friends and family is a great way to increase your visitor count. Even if your friends and family aren't "into" what you blog about, they are "into" your success; so they tend to visit anyways. They also in turn tell other people, who then tell even more people. It creates a great chain just by getting your friends and family in on your blog.
- Social News - Social news sites such as Digg, Mixx, and DZone, just to name a few popular sites, are a great way to get some exposure and traffic. These sites allow users to vote on what content they like and if you make it to the front page, your traffic could dramatically increase. (Be sure your site can withstand by-products like the Digg-Affect. This spike in traffic could overwhelm your server and cause down time.)
- Forums - Forums are a great place to post your website. You can typically include the address in your signature. Not only will you gain traffic from forums, you will likely get reviews and comments to help you improve your website. This technique is twofold, because not only do you get more traffic, you have the chance to learn and be part of a community as well.
- Blog Comments - One of the most important aspects of a blog to me is the comments. I see the comments as a way to grow a community of readers and stay in touch with them. I don't just want people to read my blog, I want them to gain something. When I leave a comment in another blog, it is because I found something great in it and want to contribute to that site's growth and development. You can also typically post back to a post you wrote previously that relates to the post you are currently commenting on.
- Guest Blogger - Networking is incredibly important in any business, and blogging is no different. Get to know other bloggers and try to exchange links. Besides gaining a link, you can try to write a guest post for free in hopes of gaining credibility. If they like your post, they may send more links your way or continue to have you post for them on a regular basis.
- Good Old Fashioned Content - The best way in my opinion to promote your website is to blog to your fullest potential in every single post. Don't hurry or rush. Take your time; write accurately, and write in a way that keeps your readers engaged and leaves them wanting more. The content will speak for itself. Search engines will pick up good titles, and the reader can then judge the content. The better your content, the better your traffic.
What has worked for you in promoting your website? Let us know in the comments.
10 Great Computer Quotes

Here is a list of, in my opinion, 10 of the best computer/programming related quotes... I thought this might bring a little fun to your day; it did mine!
- And the users exclaimed with a laugh and a taunt: "It's just what we asked for but not what we want." - Anonymous
- There are 10 kinds of people in this world....Those who understand binary and those who don't. - Anonymous
- For a sucessful technology, honesty must take precedence over public relations for nature cannot be fooled. - Richard Feynman
- Before software can be reusable it first has to be usable. - Ralph Johnson
- Software and cathedrals are much the same - first we build them, then we pray. - Anonymous
- Computers are good at following instructions, but not at reading your mind. - Donald Knuth
- If debugging is the process of removing bugs, then programming must be the process of putting them in. - Edsger W. Dijkstra
- Real Programmers don't need comments—the code is obvious. - Anonymous
- program, n.: A magic spell cast over a computer allowing it to turn one's input into error messages. tr.v. To engage in a pastime similar to banging one's head against a wall, but with fewer opportunities for reward. - luc.aleaume.free.fr
- Measuring programming progress by lines of code is like measuring aircraft building progress by weight. - Bill Gates
Creating a WordPress Widget
If you are reading this post, you are familiar with a wordpress widget because you can see multiple widgets displayed in the right hand sidebar of this theme. The Archives, Recent Posts, Blogroll, and Links are all wordpress widgets. If you are asking yourself, "why create a wordpress widget?" here is a short answer:
This blog, like many others, is run using wordpress (wordpress was downloaded 3,816,965 times in 2007 alone). WordPress has become increasingly popular thanks to the incredible features, themes, and plugins offered, both by wordpress.org, as well as third party developers, such as:. The administrative end of wordpress is very easy to use and at the same time very powerful. The blog has all the necessary features necessary to run a successful blog, as well as the ability to add onto the large set of tools included with the download and installation of a wordpress blog. One of the best features of wordpress in my opinion, is the ability to create plugins and widgets that suit your needs. Once the plugin or widget has been successfully created, implementation is even easier. So now that we have covered a little background information, let's get started!
Steps
1. Create a php file and put it in the "wp-content/plugins" directory in your wordpress installation path.
2. The first information in the widget file is required to be there. Each line needs to be there and is fairly self-explanatory. These lines tell the wordpress plugins manager what the plugin is, who made it, what version it is currently in, and the links to provide support and updates. It looks like this:
/*
Plugin Name: Test Widget
Plugin URI: http://smseserver.com/blog/
Description: This is my first custom created widget.
Version: 1.0
Author: Scott Spear
Author URI: http://smseserver.com/blog/
*/
3. Create the function to initialize the widget. The widget_test_init() function checks if you can register custom widgets and then loads the actual widget function, in this case named "widget_test()". The last line actually registers the new widget by calling the register_sidebar_widget() function.
function widget_test_init() {
if (!function_exists('register_sidebar_widget')) {
return;
}
function widget_test() {
echo 'This is the test widget.';
}
register_sidebar_widget(array('Test Widget', TestWidget'), 'widget_test');
}
4. After the widget is registered to the sidebar, the very last line will call the add_action() function to load the widget and show it in widget control in the admin section of your blog. The function looks like this:
add_action('plugins_loaded', 'widget_test_init');
The final php file would look like this:
<?
/*
Plugin Name: Test Widget
Plugin URI: http://smseserver.com/blog/
Description: This is my first custom created widget.
Version: 1.0
Author: Scott Spear
Author URI: http://smseserver.com/blog/
*/
function widget_test_init() {
if (!function_exists('register_sidebar_widget')) {
return;
}
function widget_test() {
echo 'This is the test widget.';
}
register_sidebar_widget(array('Test Widget', TestWidget'), 'widget_test');
}
add_action('plugins_loaded', 'widget_test_init');
?>
The Importance of a Breadcrumbs Trail
Navigation is one of the biggest web design factors to consider for a website. Where is the navigation going to be? Will it be on top, on the left, on the right, vertical, or horizontal? Your visitors need to be able to easily find their way around your site. They also need to be able to follow clear and concise links that get them where they think that link will take them, more importantly, where they want to go. Wikipedia says,
[b]readcrumbs typically appear horizontally across the top of a webpage, usually below any title bars or headers. They provide links back to each previous page that the user navigated through in order to get to the current page, for hierarchical structures usually the parent pages of the current one. Breadcrumbs provide a trail for the user to follow back to the starting/entry point of a website (Wikipedia).
Breadcrumbs are so important because they allow a visitor to easily find their way back one or even multiple pages without going all the way back to the original link from the main navigation menu. Some website features, or applications, allow a visitor to go several levels (drill down) into the website. This "drill down" technique is very useful and user friendly, but creates a need for breadcrumbs, to allow for easy backwards navigation, or navigation out of an application. No matter whether your breadcrumbs are implemented on your site statically or dynamically, or use a scripting or programming language, like PHP, Perl, or ASP, to name a few, they definitely need to be there.
Resources
- conVerge Church - This page has an example of a breadcrumbs implementation.
- useit.com - Here is a great article by Jakob Nielsen on the use of breadcrumbs.
- About.com - Overview of the what, why, when, and where of breadcrumbs.
- Wikipedia - Wikipedia entry for breadcrumbs navigation on web pages.
5 Best Code Snippet Directories

I use mostly PHP to create my websites. I often have a need for a simple piece of code that would make my life so much easier, but I don't know how to write it easily or efficiently. This is when I turn to the code snippet directories. These directories list all sorts of code snippets for many different topics/categories in many different programming languages.
- byteMyCode - byteMyCode is a great website for code snippets because of the way they have designed and laid out their site. They make it very easy to find what you are looking for. They also offer easy category browsing, as well as a powerful search function.
- Snipplr -Snipplr calls itself Snipplr Code 2.0. They provide a lot of snippets for many different programming languages in an easy to search and browse web 2.0 style website.
- PHP Builder - This website contains not only a vast amount of code snippets, but also articles, full applications, and news pertaining to PHP.
- </Dream.In.Code> - Another list of quality code snippets which contains a large range of topics and programming languages is </Dream.In.Code>.
- DZone Snippets - This website has good quality snippets, but is by far the hardest website to navigate. The navigation style doesn't seem very intuitive to me, so I often check this site last. There are good snippets here if you have the patience to navigate the site.
Code snippets are a great time saver and a great way to learn some new tricks. Once you use some of the snippets, be sure to give some snippets back and save another webmaster/programmer some very precious time. Where do you get/post your snippets? Post them in the comments!
