LOGIN HERE: User ID: Password: | Contact Us

Salkehatchie Summer Service
North Carolina Camps
The Geek Report

So What is the Geek Report?

Over the past few years we have constantly made changes to the website. Some of those changes were very visible and others happened behind the scenes. As of February 2007 we've made a dramatic change by not only changing the look of the website but we've also made it possible to bring other Salkehatchie Camps into the website.

So we got to thinking that some of you out there might be desperately lonely and therefore interested in understanding the technical aspects of the changes that have taken place. If you are one of those people who spend Saturday nights playing video games who have that level of curiosity then the Geek Report is for you. We'll be updating this page periodically as we make changes. So sit back spin that propeller and read on.

How This Website Works - February 3, 2007

Back in 2003 at the conclusion of the first Salkehatchie Camp in Huntersville we decided that it would be a good idea to start a website. Within a couple of months the Camp Director promoted himself to Head Geek Webmaster and, after purchasing a couple of books on the topic, started www.salkehatchiehuntersville.com. The website became a popular destination for campers, their families and their friends.

The Salkehatchie Huntersville website first appeared in November of 2003. It was hosted by an Internet Service Provider (ISP) Blue Domino. They continue to host this site today. The first content on the website desribed what went on at the 2003 Camp. There was a description of each of what went on at each of the home sites and there was a page describing the incoherent ramblings thoughts of the Camp Director.

The following year we decided that we could make the site more interactive by having campers "sign on" to the website and create/update their own profiles. To this point the website was mostly just HTML pages. In order to make it more interactive some server-side programming was required. When I originally conceived the idea of this website I thought that I would have to learn PERL, a popular programming language used on many website. Although PERL is available on Blue Domino it doesn't allow you to easily connect to a database and if I wanted to have campers "sign on" to the website I would have to have some kind of database.

As it was, Blue Domino supported PHP as a server-side programming language and mySQL as their database. Both of these are open source and therefore are free. I made a couple of more trips to the bookstore to learn PHP and mySQL. I installed Apache (yet another open source program) as the server on my laptop and downloaded the code for PHP and mySQL. Fortunately there are a number of good books for those interested in learning Apache, PHP and mySQL.

Since then I've had to learn a number of things as I've continued enhancing the website. The other language required to run this website is JavaScript. JavaScript is used when I occasionally have to create a small pop-up such as this. The biggest programming effort with JavaScript was the Salkehatchie Match Game (no longer on the site) which allowed me to create an online game where campers could compete with each other to see who could match the name and photo of 8 campers in the shortest period of time.

The only other programming technique that has been introduced into the website is AJAX (Asynchronous JavaScript and XML). AJAX allows the browser to send requests to the server without having to re-fresh the page. On the right hand side of most pages there is counter showing the number of web pages diplayed today and alltime. AJAX allows this count to be updated without haveing to refresh the page. If you are really desperate for entertainment stare at the counter for an hour and you'll see that it will change automatically when someone else somewhere is viewing the website. AJAX is also used to do real-time validations on any data being input into the website. For instance, if you are asked to put in your phone number and put in something silly like 'ABC' you will be notified that 'ABC' is an invalid format before you even hit enter. That's because a command has gone to the server to check the validity of 'ABC' as a phone number.

Changing the Look of the Website - May 21, 2007

Shortly after the 2006 Huntersville Camp, Tresca Hollis formally announced that Lafayette Street UMC in Shelby would be hosting a Salkehatchie Camp. Tresca, with some arm twisting encouragement had agreed to open the second North Carolina camp.

A few months later Tresca inquired as to whether the existing Huntersville Camp website could be extended to include information about the Shelby Camp. The short answer was, that in it's then existing form, the website could not easily support Shelby without going through some significant redesign.

The redesign would have to take place in two areas. First the whole user interface would need to be redesigned to allow web site visitors to easily move from information focused on one camp to the other. The other area would be a far more challenging redesign of the whole database and programming model. In the first year I would concentrate on the redesign of the user interface and I would leave the database and programming model change for a later date.

The change in the user interface gave me an opportunity to not only redesign the way a visitor navigated around the website but also allowed me to really modernize the look and feel by using Cascading Style Sheets (CSS). For those who have designed websites, CSS separates format from content. It allows the web designer to design the look of the website without imbedding the design elements within the HTML. The biggest advantage is that if I wanted to, at some later date, redesign the color scheme or change the buttons or the banner or the placement of blocks on a page I can do that in a single file without having to change every single page. Or, if we wanted to make the Shelby pages look different from the Huntersville pages we could do that relatively simply. For more information regarding CSS click here.

I started the CSS redesign in November 2007 and finished up sometime in January 2007. I think that the site now looks brighter (I was getting tired of looking at the gray of the old design). For those who never saw or have forgotten the old design you can click here. The old design was also very inflexible since all the positioning of columns, banners, and navigation bars was managed within tables which made the HTML a huge mess. If you check the source code between the old design and the new design you will see that the HTML is now much cleaner and hence much easier to maintain.

CSS ... The good and the bad - August 12, 2007

As I stated earlier I've separated style from content by relying on Cascading Style Sheets (CSS). It's given me a lot of flexibility to create a nicer looking interface (at least I think so) while at the sametime improving my ability to maintain the site.

However, as with anything there is no free lunch. This benefit does come at a price. While the webpage content is created at the server using PHP, the CSS part of the equation is translated by the web browser. Even though there are universally accepted standards for translating CSS the programmer (me) must rely on each browser manufacturer to consistently implement their version of CSS. For the most part the various browser manufacturers do a decent job. However, the drunken monkeys programmers at Microsoft had their own ideas when tranlating the CSS box model. Consequently, I (and everyone else creating CSS-based webpages) must write special code in their CSS style sheets to account for Microsoft's interpretation of CSS. As such, I've gotten into the habit of testing any new web content on Firefox, Internet Explorer and Opera. I don't specifically test on Netscape Navigator since if the site works fine on Opera or Firefox it generally works fine on Navigator. If there's anyone out there running Safari (Mac) then you are out of luck. I hope that site works fine because unless anyone tells me I'll never know.

Even if the CSS translations strictly adhere to the standards there are some subtle differences between the various implementations. If you open any of the salkehatchienc.org webpages in two different browsers and compare them side to side you will often see subtle but distinct differences between the two page renderings. Usually the differences are minor and harmless. Occasionally the force me to rethink how I do the web page.

One difference I can't figure out is evident on the home page when you compare Firefox (or IE) with Opera. For whatever reason Opera doesn't put the first major heading and the five links on the same level. I have no idea why. I don't have a lot a Opera users so it's really not a big deal. (It's not that Opera users aren't important to me it's just that there's only so much time I'm willing to devote to problems that probably don't have an answer)

The other I deal with is the use of older browsers. I tend to do my testing on fairly modern browsers. If there's anyone out there running on something ancient like Netscape Navigator 4.7 then I have no idea whether the website works or not. Chances are it doesn't. But if that's the case I suggest you download a recent version of a browser, any browser. I mean, they are all free. What can be your problem?

Introducing Salkehatchie Radio - August 12, 2007

At the conclusion of our 2006 camp I started playing around with the notion generating podcasts that could either listened to on the website or downloaded like any other podcast to an iPod. After doing some reading on the subject I realized that I would need some specific hardware and software. On the hardware side I needed a recording device and a microphone. For software I needed something that would allow me to edit voice recordings. Lastly I would need some way to easily play the voice recordings on the website or allow individuals to download the recordings to an iPod.

On the hardware side I had a couple of options. I could record directly into my laptop. The laptop has a microphone built into it. In addition it also has a microphone jack if I wanted to plug a microphone into it. Although that would work it was somewhat impractical. If I wanted to have someone doing an "interview" at a home site I couldn't very well send my laptop along. (I guess I could but that wasn't going to happen). I discovered a very small mp3 player that also had recording capability made by iRiver. I found a unit on eBay and purchased it. I picked up a couple of microphones from Radio Shack (along with a y-connector) and I was ready to go.

On the software side I was able to find an open source program called Audacity which is a pretty good voice editing program. It's got a lot a good features and it allows me to edit a recording to eliminates all the unnecessary pauses or stammers that are part of normal everyday speech. It would also allow me to include a musical introduction (for example) to any recording.

The last step was publishing the recording to the web site. Most of the software I use to create my website comes from CoffeeCup Software. They have a product called Web Juke Box that creates a virtual audio player on the website. It allowed me to pipe sound through the website without the user having the need to have either RealPlayer or Windows Media Player. The Web Juke Box presents a listing of the various recordings that the user can choose from.

In order to make the recordings available through a webcast it was necessary to generate the proper XML the adhered to the format required by iTunes. You can check an example of it at Salkehatchie Radio XML. (If you happen to be using a either Firefox or Internet Explorer 7.0 then you'll need to explicitly look at the source to see the actual XML) I'm not sure how many people actually download the recordings to their iPod but I suspect that it's not many. It's a lot easier to check out the recordings from the webpage.