After a few comments and now more than a few emails asking me for my Wordpress theme for this site I figured it was high time to explain a bit about how my site works and the concepts behind it.
The idea is a simple one, but with a bit of an over-the-top solution: I just want a personal site that incorporates (go figure) everything I do online (the vast majority of it, anyway). Since new toys pop-up all the time, I want the site to be flexible enough to deal with any new service that I might fancy down the road.
Blogs aren’t enough. People are tweeting, posting photos to Flickr, adding events to Upcoming, bookmarking to Del.icio.us and Ma.gnolia and generally just “life streaming.” Each of these has their own community that I enjoy participating in, so I don’t want to abandon them with the hope of trying to build an entirely new audience on my own site. The solution is obvious, bring in all my distributed “stuff” from these services to my personal site.
As some of you might know I’ve got an aversion to social networks, at least ones that are all encompassing, walled garden type sites. Facebook, MySpace, they all just seem there to capitalize on my content: I just don’t want one company to represent all of me online. I love the smaller, content-specific ones. I’m a huge fan of Flickr, definitely enjoy Twitter, and Upcoming is useful for events. Each one is tailored to a specific need I have and meets that need just about perfectly.
Instead, I wanted a place that’s my spot on the web, a personal site. No, not something I had to update in addition to all the other services I use, but something that’s updated whenever I update them. I couldn’t handle the limitations of countless javascript widgets either. I realize it’s a decent solution for a lot of people, but to me it’s sort of the half assed attempt to get the stuff in one spot. The widget is the band-aid to this problem: it’s enough to stop the bleeding, but doesn’t really fix the problem.
I want true separation of presentation and content, and in order to do that API’s were the way to go. Luckily, my new office-mate, Jeff, was working at the time on just such a system in Django and it was perfect. Before working with Jeff I hadn’t spent more than a few weeks with Django tinkering, but after a few explanations and tutorials I was sold. The entire framework was designed for publishing content, in particular, structured data. And that’s just what all this “stuff” I want to collect is: structured data. My photos, links, status updates, and upcoming events are all being stored out there by these services in nice, organized groups, accessible via API’s. Huzzah!
I know, it doesn’t sound appealing: structured data. I doubt it gets many dates, but it’s hot. It’s the same reason many of us care, or at least used to care about web standards: the separation of content and presentation. Poorly structured data hog-ties you to a specific presentation, whereas well-structured data leaves you free to mix-and-match ‘til your heart’s content.
Because I’m tired of hacking. I’ve hacked countless content management systems trying to do what I want, but always only getting “almost there.” I wanted something that’s designed from the ground up to pull in all this data. I didn’t want another blog engine hack, or a tumble log that’s geared towards just tossing the content up as quickly as possible.
Instead, I consider what’s powering this site now to be a personal publishing framework. Not another CMS, but a framework, geared towards the specific purpose of pulling in content from any number of services out there and storing that data locally, in a structured format, so I can display it anyway I see fit. It’s the best of both worlds, community services I can use and participate in, getting all the benefits of their reliability and expertise in handling various content types, but then getting to display and represent the data here on my site to express the myself how I see fit. After all it’s my content.
Honestly, I think this is how all personal sites will eventually end being. Some sort of personal publishing framework that allows you to pull in all your content from a wide array of web services. This site took quite a bit of technical jiggering and a lot of help from Jeff to get it all working, but I see many more tools coming to make this concept a lot easier.
Anyone out there hacking something together to create some sort of personal publishing framework in the interim?
You can also subscribe to a feed of this entry’s comments.
Well I’ll be the first one to admit that as close as I’ve gotten to Django is simply pronouncing the name but base on the complete overview you’ve provided on how it’s powering your blog, it’s obviously working wonders for you. I complete understand and agree with your position in wanting to consolidate essentially as much or if not all your online presence into one central location.
I’m fallen to the habit of opening up accounts in some social services and sometimes forget I have them and they eventually end up dying somewhere in the web. In a way, you’ve created your own active version of Claim ID.
I do something similar however I use Facebook as my home base.
http://mikegowen.com/2008/04/19/sharing-and-communicating-on-the-interwebs/
This may change in the future with Open Social, Friend Connect, etc, etc, etc. I would prefer to use my personal site, but Facebook is currently the most effective way of getting all my content to those that care about it (geek and non-geek).
@Mike Gowen Good stuff, and an interesting read. Like I said before, I’ve still yet to join Facebook (although I’ve played around with it a few times), so I don’t know much about “Platform” or any other aggregators. My biggest beef with it is that it’s still a solution for, as you say, “everyone as long as they have a Facebook account”.
That walled garden approach just kills me.
There’s definitely a need for better tools, let’s just hope they get here soon.