Niche Applications
Posted by Steve
Hello! My name is Steve Schieberl. I've been with Fashionbuddha for almost two years now, though I'm just now discovering that we have a blog. Well, I've known of its existence for awhile, but I've just kept too busy to really dive into it. I make and play music on the side which put me overseas for almost three months earlier this year, and I'm just now starting to feel like I have a normal life again. Which means BLOG TIME!

A lot has happened since I got back, but it would take forever to explain it all. Rather than jump right showcasing cool experiments, code snippets, theories, ideas, or anything that you may actually find useful, I thought I might introduce myself by giving you some insight into one of my roles here at Fashionbuddha.

Officially, I'm the Senior Programmer here, so I take on most of the tasks that require any sort of coding. This generally ranges anywhere from Flash sites and their respective content management systems to creating custom video players which sync content across multiple monitors/machines. I often times find myself needing some very specific purpose-built utilities to handle repetitive tasks that are usually handled physically. For example, I've developed an application that resides on a server which copies assets created by the studio onto machines in an offline local network, so we don't have to do it by hand everytime there's an update.

One task I've had to perform repeatedly for years is the adding of unique identifiers to all nodes in a XML file. Unique idenitifiers are a must for quickly running precise queries against XML, and become an absolute requirement in larger files. Almost everytime I start work on a CMS, if I didn't create the XML, the nodes won't have unique identifiers. I used to add them by writing a routine into the CMS that checked for the "id" attribute in all nodes and assigned them if they weren't there, but that means I need at least a partially working CMS to run the routine. By creating a standalone interface, I can get my XML in order before I start develpment on the CMS, and in a matter of seconds.

Being a programmer in an animation studio, I need to find my creative outlet where I can. The great thing about niche applications like these is that no one will ever use them except me. This means I can create them to my specifications. I have complete freedom to do, and get away with, whatever I want. For example, let's take a look at the aforementioned XML unique identifier insertion utility, IDentinator, and point out some key features that make development time fun time:


Click to enlarge

  1. Copyright infringement and cultural satire by way of a massive Vista icon. Who's turning me in? You? Didn't think so.
  2. When you click this radio button, the progress bar below it fills up to 71%. Why? Because it can. And you know what? You can't unclick that radio button. When that progress bar gets stuck, it stays stuck. Forever!
  3. Error messages that tell it like it is. I can deal with tough talk. If my XML sucks, I want to know.
  4. Don't ask.
  5. Verb invention. "Add unique ID attributes to all nodes in sequential order" doesn't look good on a button.
But it doesn't end there. There are liberties I can take in the code itself. Why call a function "SaveButton_Click" when you're going to write it once and never see it again? Why not name it something interesting like "SetShoesOnFire()", "FruitShapedHandGrenade()", or "MegaSnailz()"? And why spend time trying to think of politically correct messages to send back to the user? The only user is me. Don't be afraid to point out my stupid actions, buddy, er... me... ?


Click to enlarge


It's just one of the many creative things that go on behind the scenes here at Fashionbuddha.
Page 1 of 1