Today on 08/08/08 I decided to throw the switch on a new version of my personal site. If the DNS changes have begun to propagate and you are reading this right now you are seeing the new site. This will mark the 4th major version of my site over the years since it was originally launched in 1997.


The past 2 years, I have been so busy with other aspects of my life and knee-to-head-deep in work related projects that I haven’t posted with any regular frequency. I have a great deal of things I would like to write about, but my priorities have been with my family, (primarily my 2 year old son Owen and my 3 month old daughter Delaney who are both wonderful), getting work done and participating more in my local community and user groups. I have also found that using micro-blogging and other Web 2.0 social services like Twitter, Pownce, and many others have really contributed to me not feeling the need to post as much to my blog.

I decided that if I was going to do any sort of writing or blogging at all, that I would want a much more robust system that met the following criteria:

  • More efficient at day to day tasks and operations
  • More robust plugin API and extensibility layer
  • Additional CMS like features
  • Better support for theming/skinning and CSS
  • Better support for valid XHTML
  • More robust and flexible administration controls

Back in early 2003, I adopted an early beta version of Pivot and have hacked it to death over the years to the point where upgrading would be more pain than its worth. I had considered moving to their new 2.0 version, but in the end, with the criteria and features I had in mind, the API, extensibility and community around WordPress really impressed me more. I had already written some plugins and custom shortcodes for several clients of mine over the past year without getting too deep into the guts of WordPress and was impressed from that perspective in that the documentation was clear and easy to follow. Then I got a chance to meet Matt Mullenweg in person a few months back at an event in Philadelphia, and he impressed me with his ideas. So I installed WordPress and after only a few hours I was able to take the vast majority of hacks and modifications I had incorporated over the years to Pivot and convert them into true plug-ins for WordPress.

The first three I made are Glossolalia, WP-List Filter and TwitterRSS. Glossolalia wraps my text-to-speech system for generating and cacheing MP3’s for consumption by Flash other players into a WordPress plugin to automatically generate spoken word copies of each entry on demand. It was easy enough to tie in the delivery with another popular WordPress plugin: Martin Laines 1-Pixel Out Audio Player this made things so simple. Wp-List Filter is a plugin that adds a filter to the wp_list_pages() function so you can alter the the way WordPress outputs and tags the UL data for the top level menu of pages in your system. This allowed me to implement my own custom CSS variant of the “sliding door” style/technique for CSS based tabs for my main navigation. This technique was made popular by an article by Doug Bowman on a List Apart a few years back. I just added an extra span so that I never have to worry about the width, I have an image for each edge of the tab, and an image in the middle that is scaled as needed for the background, a little more CSS, but better results. This was pretty much impossible to do with the default wp_list_pages() function. If I get a chance to clean up the source a bit, I’ll probably release this for folks to tinker with. The final one TwitterRSS was to accomplish one of my goals to incorporate all the micro-blogging and Web 2.0 Social Services that I use into feeds I can display on my own site. You can see it in action here.

All of these items made the decision to move from Pivot to WordPress very easy. Much of the functionality I had to hack into Pivot was already in WordPress or just a search and install away from the huge library of community developed plugins. So I’ve been working on and off the past month or so to move all my old posts, and not just my blog but my entire site infrastructure and odds and ends that have accumulated over the years following me from server to server – nearly 5 gigs worth of cruft (not including email, client work and other domains I host). I have paired it all down and things are running lean and mean now. Everything has been moved to an entirely new server at MediaTemple.net – I have been using them for my hosting for over 6 years now and highly recommend them.

There are some really great plugins for WordPress – two of my favorites are centered around the iPhone. The first one I want to mention: WPtouch iPhone Theme With this plugin installed if you visit my site with an iPhone (or Safari 3 and set the user agent to iPhone or iPod Touch) by default you will get an experience and theme that is optimized for the device. Its also smart enough to allow you to switch back and forth from the optimized version to the full CSS styled version.

The second plugin is: WPhone a lightweight admin interface for the iPhone and other mobile devices. This makes it super handy to administrate the site from remote. Although now there is a full blown iPhone native app that WordPress released to handle this task and it works very well indeed. They were even nice enough to release the source code to the community which will only encourage continued development.

I still have quite a bit of content I want to flesh out around the site, particularly the Services, Portfolio and Community sections, but the bulk of the work and configuration is done and I’ll gradually flesh those three sections out over the next few days to weeks. I also spent several hours making sure I have 301 Redirects in place for all old links and popular content, and for items that might have had their locations and URL’s re-arranged or changed. However, if you notice any 404’s, errors or other missing content or JavaScript issues, please let me know by dropping me a note. Beyond that the two other big things I am working on. The first is to implement a cacheing plugin for WordPress as its default architecture is to always dynamically build pages by way of queries to a MySQL database. One nice feature of Pivot, it that is was all flat XML and pre-rendered pages so it was always pretty fast to serve up, and there was never a possibility you might run out of database connections. As long as Apache and PHP could stay up, your site would stay up. I haven’t really load tested things with WordPress and my current configuration but I’d like to do whatever I can to optimize the loading and prevent potential failure due to loads on MySQL. The second item is to consolidate a great deal of the JavaScript libraries that are leveraged in various parts of the site. There are several that are used and even though they are in packed format, it still eats up a ton of transfer. I also want to follow some optimization and best practice tips that team members at Yahoo have come up with such as moving scripts to the end of HTML content and other little items that should help on the load and execution time.

Finally this site is now geared at the most modern browsers capable of CSS and transparent PNG files. I’m not even bothering to put in hacks or support for anything but the most current browsers, like Safari 3, Firefox 3, and IE 7 and any Flash content will require the latest Flash 9 or possibly Flash 10 player. For a client I would offer a bit more backwards compatibility for sure, but I’m not as concerned about that for my own personal site. So if you are running Internet Explorer 5 for Mac or any browser that hasn’t been released in the past few months to a year and the site doesn’t look or operate properly for you. I encourage you to upgrade, not just for my site, but for all the other benefits of using the latest versions bring to you like security enhancements, additional features, bug fixes, etc. That being said, if you are using the latest and greatest and things are just not working for you as you would expect, please feel free to drop me a note.

PRINT THIS ENTRY

One Response »

  1. Firefox 3.0.1 Firefox 3.0.1 Windows XP Windows XP
    Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1

    Hey congrats on the new design. I’m still on the moveabletype default template from like 02 lol.