Ionrock Dot Org

by Eric Larson

My Weblog

TourXML

The concept of social sites and community driven content has become of interest to me. I remember when I first started looking at content management systems, I felt overloaded with amount of community based packages there are. Slash and all its derivatives were/are great, yet they all failed to to create simple sites for simple folks. There always seemed to be a great market for fostering community driven sites like Slashdot in specific topical groups (for example, RV owners). Unfortunately, I never had the opportunity to really create one of these community sites.

I supposed sometimes, I am actually forward thinking...

With the recent rise of sites like flickr, del.ico.us, myspace, digg, etc., it seems that people like the idea of creating content. I realize my mistake with community sites was that it was not a topical issue but rather a cultural issue. Back then, the web was still scary to many people. Mom and Pop RV owners were never going to spend time everyday blogging or writing articles on their RV adventures.

Now, there are millions who love to post everything and anything to the web for the sole purpose of getting attention. Kids don't wear radical clothing or listen to "loud" music anymore because it has all been done before. Getting the attention of the masses at school is feable compared to getting the attention of the entire Internet. This is the reason sites like digg and myspace thrive. They meet the need to be noticed.

I hope this doesn't sound negative because I truly believe this is generally a positive movement. A kid cannot simply where a "shocking" outfit and get attention. The result is they must learn to write or design or code or all of the above. Not to mention, it is not enough to simply write some xhtml and come off as a genious. Kids have to now create new and innovative css tricks and write professional articles to make a ripple. It is more challenging, but since kids don't spend every day trying to get attention with clothes, hair or music, they have a lot more time.

My hopeful contribution will be a means tracking tours. Specifically, I would like to create a place for bands, labels, booking people, press people and fans to see when and where the shows are happening. Being in a band and seeing the process of how the word gets out, there is a definite lack of tool for keeping everyone up to date with the most current show info. Things like mailing lists are fine, but a label or booking company needs more solid info on what the band is really doing. A fan may be planning on going to a show, but when it gets cancelled or moved, there is no way of getting notified. A label must ping back and for with bands to get accurate tour lists for their website. The problem is a subtle pain in the neck that really doesn't have to be.

My solution is TourXML. TourXML is a simple XML format that is similar to RSS or Atom. It can be read and formatted to whatever format is needed and clients can simply connect and get the info as needed. From a more professional standpoint, a label/booking agent/press agent can have a reliable source for finding updates to a band's schedule without cluttering up their inbox or having to constantly make contact.

The implementation is rather simple in that libraries to read the XML will based on the DOM. This may seem silly, but a band that has been together 10 years can only have a maximum of 3650 shows. A text file with XML and a few nodes per show should be easily parsed and kept in memory, which makes using the DOM a good choice. The other boon, is that web developers working on a band site can use the output many places with minimal dependencies. For example, a tour manager interface could simply write to a static text file instead of saving shows in a database.

I have played with this idea for a little while and I have been using my own implementation for a little while on the Ume web site, but I think I am going to get serious about it and see what happens. My goal is to write simple parsers for many languages to give people an easy way to start working with it.

My end result will be something similar to del.ico.us for bookmarking shows. Wish me luck!

Posted Sun Mar 26 20:46:57 2006 by Eric Larson

Plone, Paste and Pylons

I started messing around a good deal with Plone. I haven't had a chance to actually develop anything for it just yet, but the reason is that when considering a CMS outside of the theme, Plone is very able and featureful. There are some problems and since Plone is a very mature project with a long history, there is an entire vocabulary related to it and its underlying technology Zope. I am hoping that because it is written in Python that the language can keep me engaged enough to work through the more difficult aspects.

Outside of Plone, I am planning on taking a look at Pylons. This is yet another python web framework that is really only exciting to me because of Paste. Paste is really interesting because it claims it is a framework for developing frameworks. As cheesy at that sounds, the actual concept is very solid. The idea is that libraries are rather helpful and often are used within projects without people rewriting massive amounts of code. Frameworks on the other hand consistently are rewritten and suffer from the NDH (Not Developed Here) mentality. This may be due to many programmer's desire to learn, although I think it merely supports that a developer is willing to use another's library because it doesn't make any suggestions to how the software should be designed. This is somewhat logical as software design decisions are always changed when things hit the real world. A framework solves a problem in a specific scenario, while a library is really just a tool or feature that you can add to your own design.

This seems problematic because this doesn't emphasize good software design. This is a problem, but the reality is that most developers will eventually believe a framework of some kind is a good idea. This may invariably change the way they think about software design (most often times in a positive light) and in turn, they will move on to write better designed systems using only helpful libraries.

The one issue that I have found to surface with most frameworks is the problem of distribution. Rails for example is really a great framework when the develop gets to distribute the results on a controlled server. This is well and good, but PHP has does well because every web host on the planet supports it exceptionally. Paste also makes an effort to address this through using Eggs and distutils, which is great because it is built into the language.

Paste also allows you to create aspect oriented features through middleware. Again, this is very useful because most people aspect oriented features as being something to be done in a language. The problem is by pushing aspect oriented features such as security or permissions into a different layer of some system stack, you start to gain abstraction and scalability while keeping an easy distribution medium. If you want an example of this, you are looking at one. The stack known as the Internet has been proven extremely well equipped to be flexible and robust while keeping simplicity. I think the Paste and the rest of the Python frameworks that are moving towards the kind of architecture that Paste suggests will be the frameworks or systems left standing when the hype of web frameworks dies down.

Posted Thu Mar 23 01:16:15 2006 by Eric Larson

Project Management

Today at the office I made the same stupid mistake I always make and I got burned. I gave the client too many unfinished iterations and it has bit me once again. From this day forth, no client or customer will get something from me that is not totally finished and, most importantly, defendible.

"Defendibilty" is really the key. It is giving the client something that makes them see you as the expert. That is what they are expecting after all, an expert. This side of my job is still rather hard because I am not coming from the same background as clients are. With that said, I think I am getting the hang of the technical side relatively quickly. Of course, great co-workers help ;)

Posted Thu Mar 9 04:46:43 2006 by Eric Larson
using python, jquery and emacs ;)