This was a fairly quick one for the good folks of the Loose Organization of Surreal Ethereal Realists, just taking my CMS and applying a new design and Javascript functionality to it. The icons were designed by Frank Ferarro, which I then sliced up and used as rollovers. I also incorporated my nearly-HTML-free tagging functions, for easier maintenance by people who don't do coding for a living. While the site's content is very 1.0 at the moment, there are a lot of nice things under the hood that will likely come out in due time.
I've been working with designer Jenny Mikesell on a numbmer of projects since last summer, the latest of which is to revamp her site. I used some of my CMS code, but the client's specific requirements for this portfolio site meant that I did a fair amount of custom work, and fine tuning to ensure consistent behavior from page to page and from browser to browser. Like most of my recent sites, this one has a fully functional administrative area, so that she can maintain and organize her own content on her own timetable.
In and among several other projects that are still in progress, I found some time to build this site for local trance music lumninaries Life In Balance. While the basic design is clean and minimal, there's a lot of programming complexity under the surface, though, to give them the power to maintain and organize their own content using the most recent generation of my CMS including such conveniences as adding links, images, and mp3s without their needing to know HTML. I've also added an interesting guest book script. Notable development activity: lots of GREP searching to get their content (particularly guestbook content) out of their former site's hardcoded pages, an Applescript that converts their Word-written content into Web-safe form, automatic archiving of newsletters, and the installation of a mailing list manager.
Mikesell Design asked me to come in and make changes to the HTML, CSS, and PHP templates of the Miss Williamsburg site to fix various inconsistencies across browsers, and also to institute design consistency on the commerce pages hosted at 1and1.com--no small feat that, since 1and1's commerce system is one of the most baroque I've seen, sequestering everything behind an obfuscating web-based interface. Ultimately I chased down the templates (some obscured by filenames and variables in German) and CMS fields I'd needed to, and enacted the changes. Equally obscure was a problem with one particular Windows XP machine, which doesn't want to display background colors...though equivalent XP machines do. Never a dull moment in cross-platform compatibility work.
For the last several days, I've been working quite intensely with the Tajima Creative Group team on developing a large Flash presentation for Airwave. We were animating a number of screenshots with an eye toward readability, syncing motion and scene changes to an audio soundtrack, and since others were working on the .fla as well, we we had a lot of material to keep organized. An interesting project, and the client was quite happy with it as well.
Washington Mutual, Inc. has requested a number of upgrades to the promotional site during the last month, so I've been working on enhancements as the programming wing of Gifts By Design for this project. I think all of us were surprised at how many people participated in this--this project generated a lot of data very quickly, and I'm glad that I designed the site's structure to make use of running totals. Fresh recalculations of everything would have resulted in a brutal server load, given the amount of data and the sheer numbers of people using the site. Apparently within the bank, it's become quite popular. (URL not provided, as the site is for internal Washington Mutual use only.)
I've now done several more rounds of Flash banners for Washington Mutual, Inc., again working with the Tajima Creative Group team. I'm still working from Illustrator files and animating them by generating transitions, fades, tweening, and tweaking the Actionscript codebase I developed. Apparently many of these are up on Washington Mutual, Inc.'s site, so have a look around.
In the months since launching the Harry N. Abrams, Inc. site, I've done a number of enhancements for them. I've set up the UK site to look at the same templates and database, but offer different content. I did create a system for running a contest online, which is ready to go, although they're still working on the exact terms and conditions. In addition to that, I've been taking care of a number of minor changes and enhancements, and the site's worked out quite well.
Harry N. Abrams, Inc. has moved to a new way of tracking its data internally, and the Filemaker Pro database they're now using on their network outputs files that are rather different from Excel, which they had used. As these files are the source of the website's data, I've had to make sure that they play well with the Web--special characters are translated, invisible characters deleted or translated as necessary, etc. The best way to clean this up is to clean it before it leaves their environment, and the technology of choice there is good old Applescript. I coded up a droplet for this, so now all they have to do is drop the export file on it, and a few seconds later, the file is ready for upload. It was nice to work in Applescript again.
I've spent September working on a site internal to Washington Mutual, for an incentive contest they're doing through October and November. People inside the bank enter their transactions, and others in the bank can see how everyone's doing--groups, regions, and individuals. For this project, I did a lot of PHP/mySQL for site functionality, with a lot of Javascript and CSS work (showing/hiding menus and menu options) to ensure usability. For this one, I worked with the fine folks at Gifts By Design, who handled both the design and project management. We had a tight, inflexible deadline, and a number of changes and requests leading up to it, but we did launch on time, and the site's in serious use already. (URL not provided, as the site is for internal Washington Mutual use only.)
On top of my other project for October 1, I've also built a portfolio managing system for the fine folks at Tajima Creative Group. They handled the design and specified it, and I built it in the week from September 24 to October 1. Features include setting up different portfolios for different clients to view, an easy system for adding examples of work to those portfolios, and organizing them. Popup windows show the details of each piece. I built most of the functionality in PHP/mySQL, and incorporated various Javascript niceties to improve the user experience for administrators. This was a fun one. (No URL for this, as it's for internal use by Tajima Creative and their clients.)
I spent an intense week working on several large-scale animations for Washington Mutual, Inc., which aren't to go on their site at all--they're going on video monitors in the various bank branches. They're much larger files than what I've been doing for download, and they're at 30 frames per second. If you happen to be in a branch, take a look around for them.
In what's turned out to be a two-launch day, I've also launched (smoothly, I might add) the new site of well-known art book publisher Harry N. Abrams, Inc.. The design was done by their in-house team (very nice work--check out the Flash they did on each of the imprint pages), and necessitated that many of their books get as many as seven images. Given that they have over two thousand books in print, that was a lot of work, and there was a gap of a few months between our first and second stages while they prepared their files. When we reconvened, there were some additional feature requests (connections between books and calendar events, special cases with some ISBNs, changes to the behavior of the searches, some alternate ways of maintaining content, and more). What we have is a pretty solid site with some powerful tools. We're all quite happy with this one--take a look.
Several feature requests later, Mikesell Design and I have launched IRG, the site of Intelligence Resource Group, based in LA. I contributed some database design, hooking up of mySQL to PHP and Javascript, and several rounds of inter-script cross-browser debugging of pre-existing Javascript code. There were certainly some interesting things going on, and with the db hookups they've become more interesting (and easier to use for IRG). The result is once again some happy clients.
Lately I've been doing a number of Flash banners for Washington Mutual, Inc. as part of the Tajima Creative Group team. I've been taking the approved storyboards and animating them, generating the transitions, fades, moving things around the stage, and creating Actionscript code that gets dynamic information from the server that hosts the .swfs. Pretty interesting, and it's really sharpened up my animation chops. More info when they're online, but I'm in the middle of the second batch of these, and it's fun.
I've just finished up some quick consulting for Mikesell Design, on a particularly interesting set of problems for a site that's in development. The end client required that mySQL not be used, so to give them a relatively painless way of updating one of the navigation areas on their site, I eliminated the hard-coded navigation done by another developer, and stocked a multidimensional PHP array.
Having the navigation in an array was essential, so that our actual display code could be as few lines as possible--in this case, one instance of the code for all of the nav links. This helped significantly with the next issue, which was that this particular navigation area needed to expand and collapse using a combination of Javascript and CSS. Given our compressed time frame (which was "as soon as possible"), I adapted some open source code for this, Matt Kruse's DHTML Tree. It's a nice script, degrades gracefully, offers auto-open, and preserved our styles, but...it didn't let us auto-open on IE. (Dan Vine's ieCapture helped us figure this out.) As debugging DHTML Tree wasn't getting us any closer to solving the PC IE problems, I decided to do browser detection in PHP, and serving IE users BleedingEgo's listmenu instead, which lets us do auto-open to a point. (IE's inconsistent application of the DOM means that we can't determine the menu open/close states as nicely as we can in other browsers.)
The last requirement was that the expanding and collapsing menu not change the page length, so an iFrame was a natural solution, and I've ended up with a couple of happy clients.
I'm finishing up a new dynamic web infrastructure for Harry N. Abrams, Inc., which should be online later this week. [Actually, given the sheer volume of text and image content on their site, the full preparation took somewhat longer.] Their staff has done a wonderful redesign, and I've done all the database development as well as the dynamic processing in PHP. Most of the truly interesting stuff is in the searches: there's a simple text search, an advanced search, and a text-based search in which users can enter complex conditional search terms. More info once we roll it out.
I've officially launched my latest project, onezero music, a site selling downloadable music files. I did all the design--both the site design and graphics, and the logo and identity. One night I was coming up with names for the site, and when I found that onezeromusic.com was available, I registered it. The logo and overall design came to me in a flash, and I stayed up late fleshing out the design. Various server issues with my old hosting service led me to find a new host which offered enough disk space and bandwidth that I could make this site happen.
The code is all PHP/mySQL, and the commerce is optimized for micropayments through BitPass. BitPass is an "instant payment" system--you see an item, and buy it--which doesn't use shopping carts. Since I have a great shopping cart coded, however, I'll be bringing a parallel system online soon for those people who like shopping carts. (It is a really good cart.) I began development in early December 2003, finishing in January 2004. While many sites are selling downloadable music these days, the onezero music pricing model is more affordable and (to me, anyway) makes a lot more sense. The site features electronica, ambient music, improv, rock, and will ultimately feature a lot more. Head on over and check it out. Maybe you'll find something you like.
Tajima Creative Group asked me to join the Flash team for this project, primarily to contribute financial calculators and advanced functionality to an interactive survey. To do this, I had to get up to speed rather quickly on Flash MX; fortunately, Actionscript is nearly isomorphic with Javascript...except for the complete absence of the Document Object Model, and I/O being handled by Flash objects. Despite some proprietary Flash quirkiness, and my having to complete a fair amount of work while I was on tour, we were able to finish the project successfully within the deadline. (Props to Aaron and Mark, who handled many of the other Flash duties on this, particularly the animated transitions.)
I've just finished this project, and it involved a couple very interesting extensions. The client asked for online spelling checking, which was a new area of development for me. There happened to be some issues with custom PHP builds on the host, so I ended up compiling and installing Aspell, and connecting PHP to it through a pipe, with a fair amount of Javascript for the interface. It works quite well, actually, with some significant advantages over PHP's pspell commands, particularly that we can check whole blocks of text at once, instead of being limited to checking one word at a time.
We also made some changes to the hierarchy, and addressed a number of browser-specific issues to make life easier for the client. And the project was due on Monday the 3rd, but we've turned it over to the client early. A very nice project. (Again, Tajima Creative Group deserves significant credit for design, UI, and project management on this one.) I'm not linking to the project, by the way, as it's for the client's internal use.
