Technical Excellence

Shortcuts cost in the long run. We follow best practices at every layer of the web development process. We try not to hack, and we obsessively and strictly separate content from presentation from behavior, and business logic from presentational logic.

Front End

We do meticulous front-end work, writing structured, semantic XHTML strict, focused carefully on the content in question. CSS is used for all presentation, and we create print and alternate layouts as needed. Behaviors, and even full-fledged AJAX interfaces, are developed following the principals of progressive enhancement (aka unobtrusive javascript) – our sites will always work with javascript disabled. We use the jquery library most of the time, because its small and beautiful and fast and well supported. Everything we create will will validate to WC3 accessibility standards (P II or III depending on the project), but more than just meeting checkpoints, we create layouts and interfaces with accessibility in mind from design to development.

There’s a hundred little things we do to get your load times down. We cache output, set expiration headers, pack and gzip CSS, minify and gzip javascript, combine CSS background images (sprites) and carefully optimize each image. We’ll use subdomains for media delivery (workaround for browser maximum simultaneous request limit) if needed, and tap into third party services for content delivery, utility computing, and storage if appropriate. Sometimes real measured load time seems to differ from perceived load time, and we’ve got some tricks to deal with that too. We’ll use subdomains for media delivery (workaround for browser maximum simultaneous request limit) if needed, and tap into third party resources like S3 if appropriate.

Back end

We develop primarily for the LAMP (Linux, Apache, MySQL, PHP) platform, a free, open source, and powerful setup that powers most of the world’s websites.

We like to base our custom web application development on the Codeigniter framework, in conjunction with the Zend Framework classes. We use a very clean AJAX methodology we developed that follows best practices like keeping business logic out of client-side code and working flawlessly with javascript disabled. We follow the MVC pattern and the DRY principals, and write clean Object Oriented code with good documentation. Our web applications are based on REST architecture and stick to the HTTP verbs (used correctly too, no idempotent methods used for transactions). Although its a hosted application (and not open source), our CMS is coded to high standards too, and the upcoming version 6 is even nicer.