Angle Park, Inc. HomeAbout Angle ParkProjectsWritingsContactSearch

Cracking out the code
Building a dynamic web site by hand

Angle Park uses a host of technologies to build a dynamic, data-driven web site to showcase its projects and writings.

When it came time to build a new site in late 2002, we were faced with the prospect of having literally hundreds of elements to juggle. There were a dozen or so "writings" about Angle Park and our philosophy. There was the requisite contact and background info. But most overwhelmingly, there was a long list of Angle Park projects that we wanted to include. Each story would need to be written (or re-written from our last web site.) Because we wanted more visual appeal, new images would need to be created from the project elements. Many of these project stories would include the option of streaming media in QuickTime, Real, and WIndows Media format.

From the experience we had garnered on our last several sites, we realized that there was going to be a heck of a lot of data to juggle. In the past, this had made it difficult to make changes to the site. Simply adding a new project meant re-linking that new story to a bunch of referencing pages. Changes to the main menu bar on one page required painstaking copy and paste sessions to multiple pages that used the same menubar. And managing the streaming media files that each project offers became an arduous affair, with a single directory that contained over 300 files.

These factors called for a new approach, and the site you are now visiting is the result of our search. It uses a data-driven approach to generate pages on the fly from elements stored in a database. In other words, rather than manually laying out each page, we present each story in a flexible template that is assembled on the fly from bits of data stored in a database.

In the case of this story, that data has been assembled into a page that has a column of text on the left, and images on the right. But this page is only one possibility. Any and all of this data can be recalled at any time, without any manual layout or programming involved. In addition, by breaking all of the data down into its component parts, we were able to write a powerful search engine to help visitors find exactly what they are looking for.

While Angle Park certainly didn't invent the data-driven approach to building web sites, we chose to hand-code this site from scratch for several reasons. First, while an ever-increasing number of web site "content management" solutions are available, none of them seemed particularly well suited to our use. Many of these systems were created with magazine publishing, photo stock libraries, or e-commerce in mind, and didn't offer features we needed. Second, as something of a streaming media pioneer (in Chicago, at least), we have unique media management needs that stem from our streaming methodology--which differs from the norm. Finally, there's nothing quite like popping open the hood and getting your hands dirty to learn what a particular technology can do. Many of our clients work with similar technology on their inter- and intranets, and it's valuable to speak the language.

This web site runs on a number of Mac OS X servers, utilizing OS X's Unix underpinnings to run Apache, PHP, MySQL, QuickDNS, and a number of utilities. Taking a data-driven approach has meant learning a lot of thick, technical stuff, but the pay-off is a site that literally updates itself. It fits with our philosophy of drawing the straighest possible line between the participant and the content.

anglepark.com version 4.0
Client: Angle Park, Inc.
Project Date: 2/2003

anglepark.com version 4.0

While the site should appear simple, there's quite a bit under the hood.

Angle Park Streaming Media Player

Since 1999, we've maintained our own streaming media servers, and have built a custom player to make user selection easy.

Admin Interface

This private administrative interface automates writing, editing, and publishing the stories you see on this web site.

©1995 - 2005 Angle Park, Inc. All Rights Reserved. About this site