Projects

Jump to: navigation, search

Award Annals

The Award Annals uses MediaWiki to document honors given to creative works such as books, films, and music. A score is given to each work for the honors it has received. Honor rolls are generated based on the scores.

I conceived the idea in the summer of 2004 while browsing the web for a good sci-fi book. I didn't like any of the sites that listed Hugo and Nebula awards—they just weren't set up for browsing. I wanted a list of winners and nominees grouped by year so I could have a month’s worth of reading on one page. I like to see the cover art, read a synopsis, and see the prices without having to cross-reference or click all over Amazon. So I created one simple page.

That simple page snowballed into a database of thousands of honored titles.

I started with a Titanium PowerBook running OS X 10.3. Using only TextEdit, the page took shape. I installed MySQL and wrote some Cocoa code to facilitate the gathering of book data. After arranging to host the site with an altogether cheap host, I learned PHP (very similar to C, fortunately) to program a web interface to the database. The nature of search engine crawlers demanded simplification of the design—no frames, more keywords, and a more straightforward document structure.

Then, rather suddenly at the end of August ’04, it all came together. I froze the design and concentrated on adding books. In just a few weeks, the first fifteen awards were well-populated with winners and nominees—most of them back to 1990. I further developed the code as I added more awards and books. In 2006, I decided to incorporate films and music, and that decision lead me to understand that the site was too large for one person to handle. After the 2006 holidays, I began to play with open-source wiki software to see if it could be easily adapted to the site’s needs. After only a few compromises, the current site was born.

The old site is available for viewing. It is entirely hand-crafted in PHP/MySQL, and has quite a few features that I am proud of:

  • Menu System: A series of PHP classes allowed for dynamic popup menus. The DHTML was fairly difficult since web browsers are so different from each other, but I did okay. The menus appear under the tabs at the top of the page, in the left column, and occasionally in the page content.
  • User Management: All of the content administration was handled with a web interface, so I needed a secure login for myself. When logged in, I could input book data, gather info from associated booksellers, add honors and awards, etc. Logins are currently disabled, but I can enable them if anyone is interested in trying it out.
  • Forum: Since I had users, I needed a forum. I wrote one. It’s rather simple compared to some full-features packages on the market, but this one is easily integrated into the site. For instance, the forum root is at the URL “/home/forum/”, but each page can have its own forum, such as:

The forum display is encapsulated within another page, located at whatever URL is necessary. I thought it was pretty bitchin’, but I have never seen another forum package offer this feature.

  • Rating system: Each book can be rated by a user, and the user’s ratings are saved and easily changed.
  • Themes: What do you think of the look? The genre Science Fiction has a different theme. Note that, since the file “genre.php” (as noted by the first folder in the URL) is handling the output and has set the theme, even the forum is displayed within that theme.

The old AA site is available only because I put so much work into developing it. The current site, using MediaWiki, is not nearly as much fun. However, the wiki software brings much to the table and is working quite well.

 
Personal tools