Benjamin Shell

My wife started Awaiting the King as a blog about our Christian faith.

I've actually done very little development work on her blog so far. However, it was my first WordPress site. After working nearly exclusively with Drupal since 2003 it was really interesting getting started with WordPress. Initially I was very impressed with WordPress, because right out of the box it's a ready-to-run with most of the features a blog needs! However, as I've been learning more about WordPress and learning how to customize it and write my own modules I've found that Drupal is a much better package for more advanced web applications. I see myself continuing to develop with both, depending on the needs of the site.

I didn't design this site, but I've done all the coding and maintenance. The company in Australia who designed this site was primarily experienced with Flash sites, so I worked with them during the design phase to make sure everything was possible in HTML. The site runs on Drupal and provides an easy way for the author, Phil Cooke, to publish frequent blog entries and discuss them with his audience.

Each month a few of the best entries are rounded up and sent out as an email newsletter. Most email readers don't work well with standards compliant XHTML and CSS code, so I've written a fairly complex translator to convert the newsletters into a mix of HTML and inline CSS that works well for email.

I can't post the details yet, but I'm very excited about this current project, which will be unveiled soon. It is a web application written completely in HTML and Javascript that connects to server-side data processing and storage via AJAX using RESTful-style requests. The backend is Drupal, and the frontend is Javascript using ExtJS 2.0 (plus YUI for the History Manager).

The project has been quite a challenge. Traditional web development is much easier, because every page is a complete reload. Adding AJAX functionally makes things slightly more complicated, but going 100% AJAX (to the point where the page never completely reloads) is more difficult than I thought it would be. However, I've developed some pretty solid methods for dealing with page "state", global events, and many other AJAX application challenges. I'm really excited to complete this project and hopefully work on other HTML/JS AJAX applications in the future.

Branding Faith is a new book from Phil Cooke. I designed and built this Drupal-based promotional website in just a 12.5 hours, start to finish, making it one of the fastest websites I've ever put together.

The development process for cookepictures.com was very similar to philcooke.com. The only complicated part was the portfolio section. I couldn't find any nice image viewers that would work with a mix of photos and videos, so I started with the Javascript ImageBox code (part of the jQuery Interface collection) and I wrote my own. I've continued to make improvements to the code and now I'm using it on this site as well. Clean code is very important to me so I pretty much rewrote ImageBox from the ground up. ImageBox was using a bunch of global Javascript variables and hard to follow DOM manipulations that made editing the code difficult. I also fixed the bugs that prevented it from working in Opera 9+ and Safari 2.

This is the website I designed for my engineering senior project. It provided a great way to distribute the photos and videos of the project, plus it was nice to be able to link to the sponsors that provided products and discounts. The design of the site matches the look of the presentation files, banner, and other promotional material I designed for the project. All of this was unnecessary for the engineering project requirements, but it was a nice extra that made the project stand out.

(c) 2008 Benjamin Shell