webnelly.com Blog

One-Stop Updates For All My Websites

Sunday, December 28, 2008

Project Week Wrap-up, Ubuntu and Rails Installed

Well, tomorrow I go back to work after having this past week off. Time to get back into my normal routine, but before I do, I wanted to recap a few of the things I crossed off my list from last week.

Server Migration Update
I was able to migrate Kris and Cindy over to my new web host with only a few minor issues and fixes. Saving the notes of what I needed to fix for this site will help when I have to move the Nighthawks Hockey Online over next, which shares a few of the same backend coding designs.  Only two sites left to migrate.

Kris and Cindy Housekeeping
In addition to migrating Kris and Cindy to the new host, I also did a little housekeeping to the main site, too. While not the eventual site redesign that is needed, it helped reorganize things and remove some of the content that has since been replaced with the Ka'anapali Dreamin' site. That should be good enough for awhile.

Launched Igloo Surfing ... Finally!
As of last Wednesday, my ninth site officially launched after sitting on the back burner for close to 10 months. Igloo Surfing is just a small little blog I'm doing for fun more than anything else. It simply features a different photo each day of one of our rabbits doing something adorable, funny, or otherwise curious. Humorous comments are attempted, but feel free to add your own.

No Facebook Development Yet
I didn't make any direct progress on implementing my first Facebook application that I hinted at last week. The first stop at the bookstore last week came up empty in terms of finding a FB development book, but the latest trip this weekend was a little more successful. While I didn't purchase the book, I thumbed through it enough to see that it was covering Facebook Application Development with Rails

I'm choosing to save that for after our upcoming vacation, but in the meantime, I finally made the decision on what to do with an old Gateway laptop I had that was collecting dust. I went ahead and wiped out the Vista image on it and installed Ubuntu 8.10 instead. It's still a little buggy and in need of a few tweaks, but I was able to install Ruby, RubyGems, SQLite, and Rails on it to start with. I have a few example apps to work through before I dive into Facebook development, but no real timing on that yet.

A Successful Week
Well, overall it was a pretty successful week, considering how much family time we had last week (which is also welcomed). Believe it or not, it pretty much wraps up the year, which has also been very successful in terms of my web development. 

Look for a post mid-week that features the highlights some of the best of my work online over the past year.

Labels: ,

Saturday, December 27, 2008

Minor Housekeeping at Kris and Cindy

While the Kris and Cindy site still remains in a dormant state, I did manage to move it to the new web host yesterday and perform a little bit of housekeeping on the site.

Of the various changes I needed to make, I updated the Vacations link in the main navigation to be more of a launch page for details on various trips. That included removing references to our previous Maui '06 and Maui '07 sections at the site, and instead filling those areas in with links to our full Maui site, Ka'anapali Dreamin'. There are other vacations that I'll be looking to add (someday), most notably our trips to Door County. While I see us going to Door County numerous times each year, I doubt it will end up getting its own site like Maui did, so this site is the perfect spot for it.

Similarly, the Hawaii section at Kris and Cindy was started before our Maui site. Now that Ka'anapali Dreamin' is in full force as being a great Maui and Hawaii resource, there wasn't much of a need to continue with the Hawaii section at Kris and Cindy. I did, however, leave the link in the main navigation, and just updated the page to provide details and links over to KD instead.

Lastly, I added a note about the Kris and Cindy Blog on the home page, since that's where a lot of the updates have been coming from anyway. With the addition of our blog to that site, the line being drawn in the sand involves using the blog for everyday updates, and having the website sort of capture all of our longer term memories of the key moments in our lives.

I don't have any real idea on when I'll be able to tackle additional work on Kris and Cindy in the near future, but I think it will keep holding up fine the way it is now after these recent minor tweaks.

Labels:

Thursday, December 25, 2008

Igloo Surfing Launch ... Finally!

It was 10 months ago when I posted that this site was launching soon. Well, I finally got around to finishing it and it is now live. It's not a major site by any stretch of the imagination, just a simple blog to posts photos on. Just thought I'd have a little fun for a change and not be too serious about things.

Check out Igloo Surfing if you wanted to take a look at what it's all about. I'm scheduling new posts in advance, so there should be a regular string of updates for a while now. Be sure to grab the RSS feed if you want to.

And if you're looking for more cute and funny bunny photos, visit the inspiration for this site, Disapproving Rabbits.

Labels:

Tuesday, December 23, 2008

Site Meets Blog

Continuing with my incessant curiousity and experimenting with 3rd party APIs and integrating them into my websites, I've made noticable progress lately working different aspects of my various blogs into the actual websites they complement.

The Beginning
Long before I started worrying about writing content, the majority of my web development was writing code. Lots of code. HTML, Javascript, PHP, SQL, XSLT, you name it.  And all was good.

Much of my self learning of the PHP scripting language came from working with a much older version of a community forum system which is now called XMB. The open-source software package also came with a nice user group that was always making enhancements and upgrades to the code, from the people that were using it. I even made my own contributions as well, which was both fun, and yet also a little daunting with the support and feature requests that I couldn't keep up with.

Anyway, this was all for the Nighthawks Hockey Online, which at the time had a distinct set of code and database tables that was running the site itself and one running a modified version of the community forum. In an effort towards a more unified user experience, I spent close to a  year (in between times when I was actually coaching the team) methodically picking apart the code from the site and the forum and merged all the functionality of the user forums to be shared throughout the site itself. A single login, single user profile, and tons of features both from a message board perspective and everywhere else on the site.  It was pretty fun to do.

The Now
I don't want to say that user forums aren't as popular as they were a few years ago, but there is certainly a new kid on the block.  The blog. And so, I found myself again in situation where I haddistinct code and functionality with my standalone websites and the blogs that accompany them. Was I scared? I think not.  Was it hard?  Not at all.

Probably a little overdue, I just recently started getting around to integrating some of the blog features and content into my sites themselves.  All of my blogs currently run on Blogger in FTP Publishing mode.  In this setup, I create a template for how I want my blog to look, usually by reconstructing the main style elements and layout of the site I'm matching. I then use the Blogger interface to author all of my blog posts and when I'm finished, Blogger merges the posts to the template and publishes the files to my web host. This model has its restrictions, as well as causing a few headaches from time to time, but as you can see, it's worked pretty well for me so far.

My Site/Blog Integrations
By using Blogger, I also have access to my blog and post information using the Blogger Data API. At the moment, I'm only using it for retrieving content and not writing or updating data, which makes it very easy to use. In fact, calling just the retrieving portion an API is somewhat of a generous term, because really I'm just formatting URLs in a way that returns post and comment data in a standard Atom format.  Very easy.

I've currently integrated my blog content into my main sites in 4 different ways, as described below.

1. Recent Posts Sidebar using AJAX
The first thing I did with the Blogger Data API was to include the 3 most recent posts in the sidebar navigation on the home page of Ka'anapali Dreamin'. Since this part of the home page changes frequently (with each new post), I wasn't as concerned as building it into the page in a way that it would be crawled by search engines. This made it a prime candidate for some client-side AJAX to grab the site's current Atom feed and parse through the last 3 entries to display as links. 

Technically, I'm not using the API here, but I've been meaning to update this code to use a filtered API request to retrieve only the last 3 posts and not the entire feed. That would save quite a bit of data needing to be downloaded, thus making it faster. I also will be updating this script to use the Google AJAX Feed API instead of my own custom request handler to fetch the feed. I started using the AJAX Feed API for my blogging calendar, and while I still have a few cache issues to work through, it should be fine for this purpose.

2. Recent Comments per Page Topic
There are many pages at Ka'anapali Dreamin' that also have a blog post or two associated with them, and I wanted to display the comments from that post on the page on the site. Here's an example, the beach page for D.T. Fleming Beach, which is associated with the blog post, Sunday Photo: Waves at the Beach. By grabbing the PostID number from Blogger for that post, I'm able to construct a URL to retrieve the comments for just that post in an Atom XML format. By parsing that XML with a little PHP code and, I have blog comments on a regular ol' site page.

3. Category Pages
Now it gets very interesting, and the benefits of blogging become very clear when having a website, and this type of integration helps to further blur the lines between them.  Here's an example scenario, also from Ka'anapali Dreamin'.

Separate from the blog altogether, the site already has a News section. This section leverages various RSS feeds from different providers to display recent new stories in one place (with full attribution and links to the original content, of course). Meanwhile, at the blog, I also like to feature individual news articles I find online, adding my own commentary and having discussions with readers about things happening on Maui and elsewhere in Hawaii. 

Out of the box using Blogger, I can just tag each article with a given label, such as I have done with the label "News".  Blogger then automatically creates a category page for each label, and features all the posts for that tag.  You can see here all the posts that are labeled News. As you can see, in a standard blog view, it's not very easy to navigate. Since I'm using the FTP Publishing mentioned earlier, I don't have the option to offer paging or things like other blogs have.  All my blog pages are static HTML.

Luckily, I was able to use the Blogger Data API to request a list of posts with a given label, and retrieve them in, you guessed it, a standard Atom XML format. Cutting to the chase, you can see that I added a News Articles page to the previously mentioned News section to show abstracts of the 3 most recent blog posts labeled News, and using a list at the bottom for older posts. By doing so, this blog content is featured within my existing site hierarchy, and I just have to link back to the posts on the blog for the full version. Nice!

I've also followed this model for adding a Travel Traditions page on our site, that features posts from a blog series that shares the same name. Now, new visitors browsing through our site can find these pages, never even needing to know there is a blog power the content.

4. Recent Posts on the Home Page
The last integration example I have is from the home page of photonelly.com. It features similar recent post information as the sidebar example above, as well as the abstract view from the previous model. Since I don't post on photonelly.com as often as the other blogs, I wanted to keep this content as part of the web page itself (rather than using AJAX) so it would welcome readers as the page loads and it would be picked up by search engines.

I've been toying with similar plans to do the same for Ka'anapali Dreamin' during the next redesign of the site.

What's Next
The next big use of this integration is going to be in the site redesign on Kris and Cindy, whenever I get around to it.  The site itself has been in need of an overhaul for some time now, while the blog itself is more active than ever.  Initially, I would like to work in the recent blog posts into the site's home page, and then from there, probably break out into more of the different category pages and organize things that way.  It will likely take a good deal of effort, but it should all be worth it.

The Conclusion
Hopefully these examples offer some good ideas on the purpose and benefits of integrating blog content into an existing website. I think as that line between blog and traditional website continues to blur, and with micro-blogging sites like Twitter openning up their APIs to further integration on the web, the concept of just a standalone website will be even more rare than ever. Very exciting stuff.

Labels: , ,

Sunday, December 21, 2008

What Gets Measured...

Part of my little blog calendar widget consists for creating a merged archive file in XML format with limited post information, like blog, title, date, etc. I've meaning to hit it with some XSL/T for a while now, just to see how some of the numbers are coming out month-by-month.

Just after putting together a quick prototype XSL stylesheet on my laptop, here are the numbers as they came out for November, listed per blog:
  • Ka'anapali Dreamin' - 18 posts - Archive
  • Kris and Cindy - 7 posts - Archive
  • photonelly.com - 6 posts - Archive
  • webnelly.com - 6 posts - Archive
That comes out to a combined total of ... 15, 27, carry the 1 ... 37 posts for the month of November. That's well above my goal of 1 post per day.

And the numbers for December are looking even better. With 10 days left in the month, I've already written 40 posts (41 if you include this one). That's setting a pace for almost 2 a day, which is very good considering I'm trying hard to find enough time to do all this.

Yearly Totals
2007 being my rookie season here in the blogosphere, I only posted 49 posts. It wasn't an entire year, and only included:
This year being my first full year writing on what is now 4 blogs, I'm at 209 posts. That includes over 120+ at Ka'anapali Dreamin' alone!

At some point, I might think of posting these numbers somewhere, probably as part of kris.nelson. Maybe I'll even dress them up a little bit using the Google Chart API. I guess it's just another example of the old saying, "what gets measured, gets done." 

Oh, and in case you were wondering, this very post and the time spent working on the above numbers is a prime example of me chosing code over content, and procrastinating as usual. If I cared for making New Years resolutions, that might be one of them. :)

Labels:

Saturday, December 20, 2008

Code vs. Content

No one will argue the fact that Content is King, including myself. With my heavy coding background, however, it's not always easy to focus on writing content.

A Little Background On My Background
Professionally, my primary discipline has been building web applications. While sharing a few concepts with traditional website design, designing and developing web applications has many unique aspects to it. Without getting too specific, I spent many years designing application databases, learning new systems and frameworks, building out web services, coding integration with 3rd party applications, and very, very little time writing content.

It wasn't until about a year into my professional career did I start putting together websites on my own. The first, webnelly.com, was more of a playground than anything else. In fact, it looked down right awful.



Yikes! The next site I created was Nighthawks Hockey Online, which was heavy on application functionality rather than content. With a full community forum, extensive stats and schedule sections, and many other data driven features, large blocks of content were nowhere to be found.

Enter Content
It wasn't until I started Kris and Cindy a few years later did I really start writing content rather than code. It was a small start, since many of the pages only had 2-3 paragraphs at most. It was more of a website than a web application, however, since there wasn't much functionality. But the coder in me wasn't satisfied. No, instead of adding functionality to the site itself, I built an entire content management system to control every aspect of the site. In fact, the entire site can be administered from the web-based console, including adding new pages, javascript files, external RSS feeds, you name it.

About this time, I really started to focus on web standards and expanding my skillset with CSS based layouts, designing site comps and layouts with Photoshop, and ultimately signing up for a formal Web Design course. As a result, I created Ka'anapali Dreamin', which is by far the most content-rich site in my portfolio. With the launch of that site, I had successfully added Web Designer and Content Author to the list of roles I now play regularly.

Welcome to the Blogosphere
My entrance to the blogosphere was a little late than most people, giving me yet another place to write original content and contribute to the World Wide Web. Although it was a slow start, I now post on 4 different blogs and target at least 1-2 new posts a day. Anyone that writes on even a single blog will tell you that committing the necessary time and effort can sometimes be a challenge. While my situation is no different, I've always enjoyed writing throughout my life, and continuing with that has become very rewarding.

The Conflict
Where my personal conflict of code vs. content comes into play is that the Web is such an exciting place these days. There are so many cool things I still want to learn and incorporate into my sites. At my recent pace, I've probably been learning 1-2 new APIs a month from different sources like Blogger, Flickr, script.aculo.us, and others. While I enjoy writing, I thrive on learning, so that usually ranks higher when I have to choose what to work on.

For awhile, many of the pages on Ka'anapali Dreamin' were in a permanent "coming soon" state, because I was too busy building out new features to the rest of the site. I've recently tried my best to catch up, but it isn't always easy. I often find myself procrastinating on simple page updates and putting off writing prose just to tinker with something new. Sometimes things completely irrelevant will peek my interest and delay other updates.

Content is King
But I still realize that Content is King. Of all the changes and phases that I have gone through in my web development over the years, Ka'anapali Dreamin' has really brought on the biggest shift in my priorities. The primary focus of my previous sites has really been for my own personal use, or for friends and family. With my Maui site, the purpose is different. The goal of Ka'anapali Dreamin' is to "Share the Magic of Maui". That change in focus puts the site's visitors as the priority, and not just me doing something soley to learn how it works.

While I've been getting better at putting my visitors first and working on pushing out fresh content as frequently as I can, old habits die hard. For example, I have a week off from work this week because of the holiday, and I listed out a few things that I'm considering working on during the break. As you can see, quite a few new coding projects.

Too Many Roles?
At times I wonder if I'm trying to do too many things at once. My background might be a little unique (or maybe not), but I still wonder how many folks out there are trying to juggle being a Web Designer, Web Developer, and a Content Author all at the same time. Maybe it's more manageable for someone that just has a single site or blog. I imagine that having 6+ sites and 4 blogs that are frequently begging for attention doesn't help matters, but with someone that has so many different interests and so much to share, I have a hard time picking just one.

For now, I just continue the struggle with it. Like everything else, there are good days and bad ones. When I get on a really good roll with content and posting on my blogs, it is one heck of a feeling. The other extreme is getting burned out on writing and not feeling like doing either coding or content. I guess that perfect balance is out there somewhere, and if I ever get it down to a science and prove it can be done in a way that scales to multiple sites, I'll try to write it down.

Labels:

Tuesday, December 16, 2008

Project Time Next Week

Next week is going to be the second year in a row that I get the entire week of Xmas off, which is giong to be very nice. Since I haven't been skating as much I as want to, that leaves me with more time for working on different site updates and projects during that week.  Now, the only issue is deciding what to work on!

Here are a few things that I'm considering giving face time to next week.

Finish my host migration
Believe it or not, the host migration to a new web host has been going better than I had thought. In fact, I only have 3 sites left to migrate, upgrade, and test. They are, however, the largest sites that I have, which is why they're going last.

Add my Maui Photo Calendar to Facebook
I just recently launched my Maui Photo Calendar as an Google Gadget, and I was thinking yesterday about trying to add it as a Facebook application. I was doing some research and found opensocket, which is supposed to take care of much of the integration for existing gadgets to work on Facebook. Going through some of the settings, however, I think it would be more beneficial to grab a book and learn more about Facebook apps first.

Finally launch Igloo Surfing
It seems like only yesterday I had this idea of launching a fun little website named Igloo Surfing.  Actually, it was over a year ago. Going through the web host migration, I revisted were I had left off with the site, and I was a lot closer to finishing it than I remembered. So that makes this another good candidate. Odds are it could be my first new site of 2009.

Redesign for Kris and Cindy
Speaking of a year ago, around this time last year is when I put Kris and Cindy in a dormant mode. Not only is it long overdue for a redesign, but probably some restructuring as well. The current site structure and sections were good a few years ago, but SO MUCH has happened in our lives since then. Mainly for the good, the current structure just isn't going to hold all those new pages.

This is still one of the sites to be migrated to the new host, so that makes time for a redesign a good candidate, as well.

Minor design and layout changes for Ka'anapali Dreamin'
I mentioned last month that I had a few minor changes in the queue for Ka'anapali Dreamin'. The biggest of which I'm thinking of is a slight redesign and layout change to increase the standard page layout for 1024px browser widths, rather than the current 800px width. My other motivation is that we leave for Maui in less than two months (yay!), so I really need to get caught up before we come back with even more content to add to the site.

New feeds for kris.nelson
Last week I shared something I discovered with Google Reader to be able to share my favorites from the different RSS feeds I follow. That, and a few other similar additions, are racing around in the design part of my brain right now, and are itching to come out.

Flickr and Google Map integration for photonelly.com
Just this week I quietly snuck in some new changes to the home page of photonelly.com to include recent posts and photos from Blogger and Flickr. That was more of a spur-of-the-moment idea because of recent work with the Blogger Data API I was doing, so it was completely unplanned. What I really want to add to photonelly.com is an integrated photo gallery like I did for Ka'anapali Dreamin'. You can view that here, and as you can see, there is both Flickr integration and maps displayed with Google Maps. 


So that's what I have to look forward to next week. Obviously I'm not going to get to all of it, and I don't really have a set idea on how to prioritize the above. I'll end up playing it by ear, but if I can get at least two of these things knocked off the list by New Years, I'll be happy.

Labels: , , , ,

Friday, December 12, 2008

Google Reader - My Shared Items

Not only have I committed to making my personal contributions to the blogosphere as an author, I'm also a big reader as well. After slacking for awhile, I started using Google Reader again to keep tabs on all the different blogs that I follow. And to confess to how long it's been since the last time I used it, I'm only now seeing some of the new features, like Shared Items.

So, for the last week or so, I've begun marking some of my favorite new posts for sharing, and for now, you can find them on my Shared Items page. It looks a little plain right now, so I might think about dressing it up a little bit.  But knowing how I never like to leave well enough alone, I happened to notice the little Atom Feed icon on my shared items page. Hmm, makes it seem like a fine candidate to be added to my kris.nelson site, doesn't it (hint, hint).

Just another thing to add to the list. I already am working on a web host migration and will be launching my first Google Gadget in the upcoming days, so there's a bit of a queue. In any case, feel free to read what I'm reading, and enjoy!

Labels:

Monday, December 8, 2008

Wasted Web Weekend

I was really looking forward to this past weekend away from the day-to-day, for many reasons. It is always quiet up in Door County, so that was very welcome. I also wanted to get out on the ice again, but none of the outdoor rinks were open.

As far as all that free time to push out a bunch of new content and posts for my different sites and blogs, I was psyched. Getting up at 6am (considered sleeping in for me these days), I could have a good 4+ hours alone with my laptop cranking out nothing but new code and tons of content. Not to mentioned time in the evenings as well, when the temp drops outside and there's nothing better than sipping hot cocoa next to a warm fireplace.

But alas, my hopes were dashed by a long series of incompetence by my current (and soon to be former) web host. I'm not here to rant or vent or blast these poor souls who apparently don't know very much about anything. Although, having saved all the chat transcripts and ticket updates, it could make for some very entertaining web sattire in the near future.

All told, my sites were not available from about Thursday evening and most of the day on Friday. This was due to a scheduled IP migration (which I was not aware of), and even though their status update said there would be no downtime, all sites were down due to propagation of the new shared IP addresses across the Internet.  If that was it, just about 24 hours of downtime, I probably could have managed to salvage some quality time with my sites.

Yet, something sounding so simple was undoubtedly excruciating 4 day ordeal that only ended about 6 hours ago. It turns out, that after 12+ hours of tech support chats, numerous vague and, at times, conflicting accounts of what was being done, the root of my agnst was a silly firewall issue that the network admins forgot to configure.  The firewall configuration that was missing would not allow me to access my files via Passive FTP. Doesn't sound like a big deal (especially to tech support), but Passive FTP is the only mode that Blogger supports for FTP publishing.

So you can imagine my agony, wanting to spend all this time writing new content and code, and instead writing the same updates to a brand new tech support rep every 12 hours. Now that is behind me, and I can get back to writing all the updates that I had planned for this weekend, I have some catching up to do. On top of what I already have on my plate, I also get to search for a new webhost (I've narrowed it down to two) and plan out a migration and testing strategy. Always fun, as you can imagine.

Over the next few weeks, I plan to continue towards my personal goals of blogging and adding new features to my active sites.  In addition, I'll be migrating my sites one by one to a new host and going through a fair share of testing for each. As part of this migration, I will be looking to upgrade some of my PHP 4 code to PHP 5, which is long overdue. I've also been toying with learning Ruby on Rails and having at least one site running on Rails, which shoulds like a good 2009 goal.

All said, I'm doing a lot better right now that I had been feeling about this disaster over the weekend. It's time to move on and head to a better host and new opportunities. I'm sure to be laughing about this 3 months from now.

Labels:

Copyright © 2001-2010 webnelly.com

All Rights Reserved