Monday, June 23, 2008

Google is so awesome

Seriously. I keep waiting for the other shoe to drop. How can a company be this cool, constantly, at no immediate cost to me? Have you seen the Google AJAX Libraries API? Nothing I can say here can do it justice. Just follow the link. I'm gonna try using this to load jQuery in the redesign.

Thursday, June 05, 2008


Ok, I make an honest effort to keep this blog as positive as possible since it's my professional / educational blog. I have other haunts I frequent in order to discuss things like sex, politics, and religion. Here, I try to stick to the sort of thing that I don't mind someone reading before they call me in for a job interview (or chose to not call me). But sometimes things happen that are related to the topics I try to cover here that I feel justified in sharing here. Today, such a thing happened. I got to see some of my previous work butchered.

This has actually happened before, on the same project. Of course, I should know once the product is delivered to the client all bets are off. I should know better than to even go look. It can't possibly end positively. But like rubberneckers at a train wreck, I just keep going back to look again.

Let me give you a little background. When I went back to TTU for my degree in web design (oh crap, that page has been ruined since I left too), I had a job at The Technology Institute. I don't think they do it anymore, but back then they'd actually take on programming projects either for the TTU campus or for our sister schools or for the Tennessee Board of Regents. TBR governs both the 4 year state schools like TTU and the community colleges, like Vol State, where I currently work. They also just launched a redesign, and it's decent. A vast improvement over their old site. I don't care for nested drop down menus though...usability and accessibility nightmare.

When I first started the job, we had one major project that had been in process for nearly a year. It was for TBR. The idea was sound. They wanted a site where prospective students could research what degrees are available at TBR schools and what jobs are associated with those degrees. So if you know which school you want to go to, you can browse their degrees and plan for your future career based on that. Or, if you have a career in mind but don't know which schools you should apply to, you can navigate the system based on jobs and work in the other direction. Or, if you just know what you want to major in, you can find schools and / or future careers. It's a pretty simple relational database issue and it makes intuitive sense to the target audience.

When I came on to the project:

  • The database was built but sparesly populated
  • Accounts were funtional, but most were inactive.
  • Account management and data entry forms were built and functioning.
  • The front end interface was built.
  • The lead PHP developer had just dropped out of school to take a job in Nashville.

We had a pretty good LAMP project going. It was built by students, and it showed. But we fixed our mistakes. We got to learn about the importance of normalizing a database the hard way. That probably took the most time. :)

The role I took was largely adding performance enhancements. I replaced the tables with a pure CSS layout. I wrote my first unobtrusive javascript, replacing literally several hundred lines of Dreamweaver generated scripts with about a dozen lines of code. I assisted with some MySQL and PHP clean up. I added a couple of functions that required creating new admin forms. I performed final testing (unfortunately, not with “real” users) and delivered the product to the client. By the end I was pretty comfortable with the project aside from the icon based navigation.

There are 16 job categories, each with a few sub categories. I think there was something like 83 in total. Rather than expressing these as text, each category and subcategory had an icon associated with it. I knew that introduced a high probability of misinterpretation of the navigation, adding to the learning curve. How do you communicate an idea like “Construction Plumbing” in an 80 x 80 pixel icon? But I also knew how much work went into those icons and didn't want to deny the graphic artist her moment in the sun.

About a year after we delivered, I surfed over to take a look. I had just taken my current job and was reviewing the examples of my work cited on my resume. The front end was completely different. All my CSS and javascript work was gone. The graphic designer's icons were gone. But functionally it was all still there. So I could at least tell myself I still contributed to a site whose purpose I believe in. Even if it was all back end stuff that no employer could look at in any meaningful way, some of my work was still there.

Today I'm looking for broken links in our “helpful links” page maintained by our career placement office. One of the links goes to The Tennessee Career Information Delivery System. The project I worked on lives on a different sub-domain of that same server farm, so I replaced “tcids” with “pathways” to check it out again.

Apparently the table that stores the 16 job categories and the table that stores the sub-categories still exists. The rest is gone. The Admin link doesn't even go anywhere. Once you get to the level of sub-categories, a whopping 1 click into the system, rather than being able to drill down any further and get info on degrees and / or the schools offering those degrees in your browser, you are prompted to download a .xls file. The meat of the database has been replaced with flat Microsoft Excel files. This pains me greatly.

The only surviving evidence of my involvement in this application is the HTML comment found on line #23, in reference to the IE whitespace bug.

<!-- The following just holds the entire "banner." It's all on one line because IE is stupid. -->

I pretty obviously wrote that. I'm not sure if the placement on line #23 was intentional.