Dateless scheduling aka Pattern Matching

Being a web development firm, we are constantly challenged with engineering issues of complex data sets and how to invoke a working solution that is user friendly for both admins and site visitors. Recently, we were challenge in just such a way - to build a 'program schedule' for a local TV station. Normally, I wouldn't post something like to this to a blog - but this stands out in many ways.

To many of you, it may seem like a straightforward process. There are times, dates, durations, and preempts that must be addressed. The reality of it is - we weren't dealing with data insomuch as we were dealing with patterns. This ephipheny reduced overall development time by 70% or more, provided a longer running set of information with less data.

Identifying the pattern removed a lot of the complex date manipulation that was first assumed to be needed. In a nutshell, we decided to forego assigning a date to any certain aired show. Whoa there cowboy! How is one to know when it airs? The answer is we just needed to know what day of week and time it was to air. That was the pattern. Dates were irrelevant except for preempts. Jeopordy! for example didnt air on dates 1st, 2nd, and 3rd and so forth, it aired every night at a set time. Shows that only aired once a week, or in a 2 or 3 day combo (Tuesdays/Thursdays etc) needed to know only what days were affected at set times. The State of the Union aired on a known date and time as a preempt.

So there we were,  a pattern, 4 known exceptions, and we can schedule shows as far out as 20 years or more down the road in an unlimited manner. Realisticlly, we only shows no more than 30 days in advance from the current running date. But once the pattern is in the database, the client doesn't need to alter it unless changes occur in the pattern. (New shows, new seasons, etc). Once the pattern was in place, the known 4 exceptions, would be date sensitive - we just needed to know when to interupt the pattern with an override.

Sure there are a multitude of ways to devise a TV schedule, thats just data. From the simlple to the complex, there is no right or wrong way - just efficiency on 2 fronts. Programming the process and end user ease of use. People laugh when I say "dateless schedules", it does indeed sound like any oxymoron - BUT thats because most people don't think in terms of patterns. When you see "TV Schedule", do you automatically think a grid of listings sorted by time and date? Delve deeper, look beyound the interface. Once a pattern has been defined, you can then manipulate the data itself in almost any way imaginable.

When we went from using dates to using days - we extended the duration of any given show to infinity. (The 6pm news airs everyday forever). Each show has its own pattern, each day has its own pattern, see the pattern here? Knowing what exceptions could be encountered took some thought, but in the end, when you have less than 5 exceptions (my rule of thumb), I consider the pattern stable. We can plan and program for these exceptions for any scenario.

Understanding patterns and identifying them is no easy task, the human mind can see patterns sometimes easier than any program or device. Honing that skill is the challenge, it requires thinking outside of the box. Take off the pretty interface other people have created, look at the raw data. Take the known and the expectations and throw it out the door - we're looking for patterns not preconceived solutions.

In the end, Digital Beckley created a 'dateless schedule' that is easily administered, can go on for infinity, and is easy to use as a end user. Projected cost savings are in the thousands of dollars. Did we invent something new? Who knows, but its cool to have coined a new term.

1. February 2010 03:06 by Administrator | Comments (0) | Permalink
Comments are closed

About the author

I've been involved in Internet technology since the early 90's. I started by running a BBS, then FIDOnet (precursor to todays e-mail). This in turn lead me to start one of the world's first HTML based BBS with Internet technology. Prior to moving back to hometown WV in 2004, I was a developer for numerous companies, including Fortune 500 firms, dot com 'darling' companies, and AOL's public web site (non-member side) inlcuding having completed many sites for the Federal government including the EPA, FCC, NIH, and the USDA. I've worked on massive challenging sites, with a teams of developers, programmers, all for one single site and I've worked in companies where I took manula web site production from several weeks to just hours creating 2-5 new sites a week using automated tools , many with e-commerce capabilities.

Its been an exciting career for the past 15+ yrs or so. Sure, I've stepped on toes, I've hit the perverbial glass ceiling too (in a previous job),  I've seen trends come and go (heck I may have even started a few). I've made some people a lot of money, and I've seen people put their entire life into a web site. I was there at  the beginning - where were you?

I've learned to tell what works for companies and what doesn't. The internet is not one size fits all, as social networking is not for every company. Technology is not the challenge. Almost all the internet technology suitable for everyday business is off-the-shelf, the true challenge is change. Change involves education, implementation, and adaptation.