Upload different patterns to Arduino Code from simple application

Okay so I don't currently have the best/simple way to word what I am trying to do which is probably one of the reasons my google searches have been futile.

So to give a little context, I am trying to build a controller for a chain of 50 RGB leds each controlled by a WS2801 chip (this string). I am using a Arduino Duemilanove (w/ atmega168) and can incorporate an SD card if necessary.

Now what I want to do is make it very easy to upload different patterns to the arduino. In the end, I want to make a simple app that can upload different patterns to the Arduino, and this is where my question comes in. I am wondering if it would be feasible to create a system like the BlinkM's sequencer. I would like to be able to create an application that a completely non-technical person can easily create patterns and upload them to the arduino.

I am thinking that the Arduino program's only function would be to read patterns from memory (onboard if possible but from an SD card if necessary) and then if it starts receiving commands on the serial port it would store the incoming pattern.

I have searched around for someone doing something similar but haven't found an example that I could start basing my project off of. It would be great if someone could point me towards someone who has done something similar or has written about the idea.

I have already looked at the new BlinkyTape software but they do it where their application creates a file to uploaded in the normal Arduino programming. I have also looked through BlinkM's software but their firmware is custom and not written with Arduino.

I would like to be able to create an application that a completely non-technical person can easily create patterns and upload them to the arduino.

You could enable verbose mode for the compile and link/upload steps to see what commands the IDE generates to compile, link, and upload code. Then, your application could execute the same commands.

I am thinking that the Arduino program's only function would be to read patterns from memory (onboard if possible but from an SD card if necessary) and then if it starts receiving commands on the serial port it would store the incoming pattern.

That would work, too. So, what's the problem? None of this part is particularly challenging.

but haven't found an example that I could start basing my project off of.

There are tons of examples around of reading data from the serial port. Of course, YOU will need to define the format of the data, build an application to send data in that format, and program the Arduino to read, parse, and store data based on that format.

I have already looked at the new BlinkyTape software but they do it where their application creates a file to uploaded in the normal Arduino programming.

That was what you first seem to have considered.

I have also looked through BlinkM's software but their firmware is custom and not written with Arduino.

So? The concept, sending some data from point A to point B, is the same.