Also in this section:
Web Development: PHP/AJAX
01/23/2008 PHP/AJAX: Opportunities for a Better Tomorrow

I've done a significant admin upgrade to the Opportunities for a Better Tomorrow Galleries: now the admins can have the galleries build themselves by uploading photos into a staging directory and creating a new gallery without images. The system sees that the gallery has no images of its own, creates the directories with the right names, and populates them with images automatically resized down from raw digital camera images. I'm using AJAX for the image processing to avoid having the scripts time out, and to give users visible feedback while the script processes. While I would have liked to have images uploadable through the browser, the host's form-size limit prevents that, so instead, the scripts process the contents of the staging directory. It's a very painless system to use, actually.

11/15/2007 PHP/mySQL/CSS/Javascript: Opportunities for a Better Tomorrow

I did all the web development (PHP/mySQL, Javascript/AJAX, and HTML/CSS) on the updated website for Opportunities for a Better Tomorrow, one of New York City's leading employment and training organizations. The site includes some animation effects using the Scriptaculous library, a registration system for potential employers to review candidates, search engines for both the site's content and candidate resumes, and Flash-video-based virtual interviews (these are visible only for logged-in employers). The excellent design design work was done by Lost In Brooklyn.

11/12/2007 PHP/mySQL/Javascript: Infocast

I did all PHP and mySQL as well as some Javascript (including AJAX) on the new site for Infocast, a group that manages energy conferences. Some notable features: an admin area that's easy for staff to use, with convenient buttons for image inclusion and link generation, as well as buttons for common HTML tasks, and an HTML table generator and editor. On the front end, there are some interesting features, like individual conferences having one of two layouts and many different potential color schemes, all quickly selectable in the admin area. There's also a dynamic calendar system and search features for finding conferences easily.

For this site, I worked with the fine people at Rapture Studio, and we worked very hard to get the CSS and Javascript to be compatible with as many browsers as possible.

09/01/2007 PHP/mySQL: IraqSlogger.com subscription system

I did all the PHP, mySQL, and Javascript on a new subscriber system for IraqSlogger, including the interface with the payment processing API. Some notable features include showing limited content to non-subscribers, auto-renewal, reporting scripts, special organization subscriptions with IP-address-based access (some of which are limited to fixed numbers of simultaneous users).

08/22/2007 PHP/mySQL: Sequitur

Recently, I ported the site for the NYC ensemble Sequitur from a static HTML model to my CMS. The design was done by Lost In Brooklyn, and it remains unchanged. Underneath the design, though, there are several specialized mySQL searches that populate the page content automatically.

06/10/2007 Flash/Actionscript: Turner Martin

The updated site for Turner | Martin is online! The elegant design of the site and all the photography was by the fine creative team at Tajima Creative Group, as was initial Flash work. My role was making the site dynamic, so that content can be updated by editing text files or uploading new images, rather than having to recompile the whole .swf. It's rather neat under the hood: all the hotspot positions are set by an XML file, as is all the content for the different popups, as well as the background images. This one had a long incubation period, but now you can see the results.

03/21/2007 PHP/mySQL/CSS: Justjinjer

I've been working with the excellent design studio Lost In Brooklyn for a while on various projects, and we've just launched one: a site for Just Jinjer, who are one of South Africa's top-selling bands (if not the best seller in S.A.; in any case, they're up there). This is the second site to be based off of the latest version of my CMS, and it has the full complement of editing and writing conveniences that come with this version--easy link creation, easy image uploading and referencing, and the like. On the front end, there are some interesting features, including embedded Flash music players, a DHTML scroller, and lots of CSS. The CSS and DHTML presented some challenges, though, in that Flash doesn't play nice with DHTML show/hide functions, so I used an iframe to manage videos on the discography pages. Take a look.

01/29/2007 PHP/mySQL: Dynamic PDF generation

I developed a dynamic PDF generator for the The Rights Workshop, using the fpdf library to create PDFs on the fly based on user input. It's a bit like writing raw Postscript at times.

12/12/2006 PHP/mySQL/CSS: IraqSlogger.com

It's been quite an intense month or so around here lately, as I've been juggling several simultaneous projects. The highest-profile among them has been IraqSlogger, for which I was the developer (as part of the Cartwheel Creative team, who did a great job on design and project management). It's Eason Jordan's and Robert Young Pelton's new venture: a free 24-hour news service dedicated to the major issue of our time, Iraq. Think you're getting enough Iraq information from traditional media already? You're not--they have some pretty impressive stories, many of them exclusives from sources in Iraq. Check it out. They're updating constantly, around the clock.

In advance of doing this site, I significantly retooled the admin section of my CMS, making it a lot more flexible for building sites out. Structural changes to the database are reflected instantly across the admin interface, inspired in part by the MVC world. I changed the admin interface itself considerably, adding more user-friendly options for text input and HTML entry (not wysiwyg, though, as Safari doesn't handle those gracefully), image upload and tracking through the browser, and polishing some loose ends. I couldn't have built this site in this time without these changes, so I'm glad I did them beforehand.

What I ended up building was much more than a blog--it's an entire publishing workflow for several writers, with a tracking interface, article check-in/check-out, flexible sorting, previewing systems, and a lot of attention to the writer's experience. On the front end, there are some pretty cool features as well: RSS, intelligent archiving, flexible content in the sidebars, the ability for IraqSlogger staff to write posts via email, integration with Google search, flexible handling of embedded video, context-sensitive image display, the ability to traverse posts by category/subcategory, by topic, by related posts, by writer, and chronologically, and plenty of other features I'm not remembering at the moment. (Hey, I'm busy making even more enhancements to the site.)

There have been some interesting challenges with this project as well: browser-compatibility requests (including Mac IE 5, believe it or not) and therefore advanced browser detection, intricate requirements for content display, with posts having different layouts and content sets depending on their context, integration with pasting from MS Word (and hence handling special characters differently on the Web and in the RSS feed), and plenty more. All of this on a pretty tight development schedule. It's been quite a ride, so take a look. I have to say it's a damned good site.

11/17/2006 PHP/mySQL/CSS: N64kids.com

In what turned out to be quite a busy Fall, I managed to do the primary development (as part of the Synklynk, Inc. team) on N64Kids.com--the main site dedicated to a rather popular viral video, which has recently been picked up as part of a BMW ad campaign. I did the PHP/mySQL frontend and backend, as well as HTML/CSS. Neat features: a membership area, live XML parsing from YouTube, the ability for members to link to videos they've posted on YouTube, and the ability for admins to screen out any videos that might be inappropriate. As you'd expect from a Synklynk, Inc.-related project, the membership system is tied into the Synklynk, Inc. promotional and reporting engine I built earlier this year. A neat little project.

08/29/2006 PHP/mySQL: Lime Syndicate

This site, for Lime Syndicate, was a project with the design team of Cartwheel Creative. Lime Syndicate needed a way of searching a specific user's ranking in a very large database that was constantly changing. My solution was to compile selected information into temporary tables for sorting and searching based on the most recent available data. It was interesting to tackle this kind of problem.

08/27/2006 PHP/mySQL/CSS: The Fort Pitt Preservation Society

While work continues on other projects, I was also asked to build a site for The Fort Pitt Preservation Society, a local nonprofit with the goal of saving a portion of the restored Music Bastion of Fort Pitt, a pre-Revolutionary fort on Pittsburgh's Point. I built a CMS, a blog, and a comments engine, with the administrative tools to manage them. Difficulty: I only had a day to do it. It's worked out pretty well, actually.

07/14/2006 Flash/Actionscript: Turner Martin

Years ago, I did a dynamic website for interior designers Turner|Martin, and now I've been brought in to finish a dynamic Flash site for them. We're still awaiting some content at this point, but it's been an interesting project, with over 1000 lines of Actionscript code. I set the site up to get its content at the direction of an XML file, and pull most of its images in at runtime, making it easy to update. The menus are populated dynamically, and many of the "pages" have clickable hotspots which launch virtual popups (and you can drag these around, too). All of this is changeable in the XML file, and I'm happy with where this project has come out. Watch this space--I'm sure there will be refinements and other requested features before we launch.

07/14/2006 AJAX: Rapture Studio

Rapture Studio of Pasadena asked for a gallery of their work which would be easy to administer, load quickly, and integrate with their design. After discussing our options, we decided to go with AJAX to keep page loading time down. The backend and the infrastructure is PHP/mySQL, though the gallery itself is AJAX. It works rather well, and was a fun one to do.

06/15/2006 PHP/mySQL/CSS: Synklynk

Since spring, I've been working on a new, expanded site and promotional engine for Synklynk, Inc.. This is quite a cool project: companies use Synklynk's system to give away free music files, and get information back about the people who download the promos, including geolocation data. The front end is working very smoothly, and there are very interesting reporting options on the client side as well. For the reporting, I ended up doing some very complex mySQL queries (including multiple virtual tables), and in several test runs with clients, we've gotten a lot of response. I've also given them a custom blog with an RSS feed, and other niceties under the hood. It's been a fun project, and this is something that people are going to use a lot.

06/07/2006 PHP/mySQL/CSS: The Rights Workshop

The Rights Workshop clears music for use in film, tv, commercials, and other media. They had a rather nice Flash site which they were unable to update easily, so they asked me to help. I preserved the look and feel of the Flash site, particularly with the movies, and added my easy-to-update CMS, with blog and RSS functions as well.

04/23/2006 PHP/mySQL/CSS: Creative Learning Productions

This was a project for a small publisher of children's books, Creative Learning Productions. They required an easily updated site, so I set them up with a web-based CMS, product management, and connections to the Paypal commerce system.

03/21/2006 PHP/mySQL/CSS: Harry N. Abrams, Inc.

We've launched it! The latest version of the Harry N. Abrams, Inc. site is up! Most tables are gone and .css is how we're doing positioning (a few are used by staff in the feature pages; there's one legacy table on a search page, and there are tables for the calendar). Quite an undertaking, getting it to render properly on all major browsers, but it's a lot easier to maintain. We've also added a lot of interesting features: the ability to keep lists of books, send e-cards, and email pages to friends. We've also improved the interface in a number of ways, particularly on the detail pages. So take a look--it's quite a nicely designed site, too, courtesy of their Marketing Art Director Eric Diloné.

01/03/2006 Development and Design: ACME Payment Systems Corp.

This project for ACME Payment Systems Corp. was a quick one I did over the holidays, for a startup in the Seattle area. They had a tight deadline and needed design as well as development, so I skipped the Photoshop stage and did the design in straight CSS, which sped things along much more quickly. We went through a lot of little changes during the review process, and here again CSS helped a lot. Driving everything is the latest version of my usual PHP/mySQL content management system, this time with a few enhancements to the administrative area, which makes managing the site a lot easier. (When I get a chance, I'm going to port all that back to this site and onezero music.)

12/23/2005 PHP/mySQL/CSS: Harry N. Abrams, Inc.

I've spent much of the fall and early winter on a significant upgrade (including my first almost-entirely-CSS implementation) to Harry N. Abrams, Inc., which isn't actually launched yet, but we're getting close. In the meantime, their existing site is still working great. Stay tuned. I do have to say that doing a site of that complexity in CSS was a really great experience, and as soon as I get a chance, I'm going back to this site and taking out all the table cells.