Portfolio: Dominic Szablewski

Selected works in Interactive Media


Lightweight Web CMS / Publishing Platform

PageNode Screenshot PageNode Screenshot PageNode Screenshot PageNode Screenshot

PageNode is a simple yet very powerfull Web CMS, that I started in 2005. It can be used by novices who just need a publishing platform, as well as expirienced web designers and programmers to create about any web application.

The main design philosophy behind PageNode is, that every page on a website can be assigned to a node in a tree. Therefore, an unlimited amount of branches and nodes can be created within this tree to construct a complete website. A node can be of one of several different types, like an article, a blog or a category.

Node types can be added without any knowledge of programming, as easy as extensions for your browser. This makes PageNode extremely flexible and also a much appreciated tool for web programmers, that need to adjust their web applications fast.

Having tested countless CMS myself, none of them provided an uniform and intuitive interface. They all seemed badly designed, or outgrew themselves over the years. PageNode was designed from minute one to provide the best possible usability - not only for end users, but also for web programmers, who want to modify the system to fit their needs.

Currently PageNode is used by the large job portal expertia.de, my personal gaming related site chaosquake.de and various websites of friends and family.


Adaptive Image Sorting and Displaying Algorithm for Web Pages

Grid-Solver Screenshot

As Tag Clouds become more and more common in blogging systems, one wonders why this intuitive approach hasn't been used for other media types like images or videos (or video previews).

The idea to scale elements in their relevance of importance is not new, however it wasn't possible to do this with images in websites so far. HTML and CSS offer no direct mechanism to position images of different sizes in a pleasing way. The Grid-Solver algorithm solves this problem.

This technique was initially created for an art related website, that I hope to launch in the next few weeks. All newly submitted images on this website are displayed in a grid. Images that have more positive votes than others are displayed larger than these that don't.

The grid is pre-generated by PHP for the most common desktop resolution (1024x768), but scales with the help of JavaScript to fit in any browser window. The idea behind the algorithm is to let the PC play a simplified version of Tetris. Images are inserted into the grid one after another, and the algorithm picks a spot that fits well with the size of the current image.

You can find a demo of the Grid-Solver on this CD-ROM: demo/gridsolver/index.html

IRC Quote Database

Online Database for submitting and reading Quotes

IRC Quote DB Screenshot IRC Quote DB Screenshot

The IRC Quote Database is a collection of mostly funny IRC conversations. It's a somewhat private database for friends, as it hasn't been promoted further. This web application has been designed and built from scratch in quite precisely 15 hours over the course of 2 days

Every visitor can submit quotes, rate existing ones, sort them or search the whole database with simple keywords. The voting mechanism works via AJAX/ JSON without leaving the current page, in order to provide a convenient user experience.

Much effort has been invested in making this application future proof. All pages are valid XHTML 1.1 Strict; All URLs (including search results) are RESTful; All quotes are stored as UTF8 encoded strings in the database, and rendered pages are also sent UTF8 encoded to the browser. The backend is programmed in PHP5 and makes extensive use of OOP functionality.

You can visit the live IRC Quote Database, but don't bother to understand anything. Almost all quotes are German and/or contain insider jokes.

Landmark System

Online User-Map

Landmark System Screenshot Landmark System Screenshot

The Landmark System is a web application, that allows visitors to register themselves with their Postal-Code. The system then draws a dot on the a map (of Germany) for each registrant. The system is mostly used in communities such as forums, to see who lives nearby and to make real-life meetings or organizing an event more convenient.

All Postal-Codes of Germany and many of Austria and Switzerland are mapped to latitude and longitude coordinates with the help of the open source database OpenGeoDB. These world coordinates are then transformed to pixel coordinates, to be projected on a map image.

The Landmark System was released free of charge some time ago. A quick Google search indicates some few thousand installations of this script.

All works © 2003-2007 Dominic Szablewski except where otherwise noted.

dszab@chaosquake.de - www.chaosquake.de