Portfolio

CGI/Database Driven Web Applications

DynamicICE/ICE

PERL/MySQL Content Management System

DynamicICE [Dynamic Interactive Content Engine, for want of a better name] was inspired by a period of time I spent working at the Department of Education, Science and Training (now the Department of Education, Employment and Workplace Relations) as Intranet Editor, where I used a modified version of Microsoft Content Management System to deliver internal communications to the Department.

I quickly became frustrated with the limited, poorly designed software package, and was determined to create a package without the problems of the Microsoft system.

Some Notable DynamicICE Features:

  • Ability to manage, modify, edit, delete, reflow and search an infinite number of hierarchically organised pages
  • Automatic Menu, breadcrumb strip, and page shortcut generation
  • Completely independent theming and styling information, ability to manage an infinite number of stylesheets per page, and for separate themes per page
  • Automatic metadata generation
  • Dynamically generated robots.txt
  • WYSIWYG page editor
  • Capacity to manage an infinite number of users
  • Group policy manager
  • Individual user permissions
  • 100,000-level page permissions, allowing for a vast array of user groups with different page viewing and modification priveliges
  • User session Manager
  • Cryptographically encoded session keys against a random eight digit salt, itself generated by a user specified seed
  • Easy setup procedure
  • Completely customisable string table for informational and error messages
  • Configurable error pages
  • Database session and hit logging
  • Pageview, Referrer, User Agent, Geolocation, and chronological statistics, and error reporting
  • RSS aggregation for page-views and statistics
  • New data visualisation technique - PageFlow
  • Blogging engine enabling an infinite number of blogs, each with their own theme, metadata, articles, and permissions
  • And more...

Screenshots of a few notable elements on a DynamicICE powered website:

DSControl - PERL/BASh/AppleScript Based System Remote for the Nintendo DS

Initially, this project was developed so that I could control iTunes on my Macs, using my Nintendo DS (with Web Browser.) This project was a valuable lesson in web development for mobile devices.

iTunes Remote for Nintendo DS

The implementation was extremely difficult, because the Opera browser on the Nintendo DS does not support XML/HTTP requests, and subsequently AJAX. Ordinarily, AJAX would have been the perfect tool for the job of a multimedia remote - as it can be used to automatically update the 'Now Playing' display, and allows the submission of commands to the server without forcing a page-refresh. Instead, rather than being forced to put up with a static display which would have to be manually refreshed, I devised an elaborate system of both visible and invisible iframes which would themselves invisibly and periodically refresh, without requiring the entire User Interface to refresh, only changing its display when the source data had changed.

The result was a seamless and dynamically updating interface to iTunes. But why stop there? I created an XML packaged, Applescript plugin architecture, and plugins for Mail, Instant Messaging, EyeTV (TV Tuner software,) Vienna (RSS Aggregator,) and administration panels for system status and settings.

Screenshots



Menu

Portfolio