Civic Engagement Center


Late in my junior year (2006) at CWU, I was approached by my advisor Dr. Ed Gellenbeck. The Civic Engagement Center was in need of an experienced web developer to transition their aging ASP classic-based site to a new one running PHP. At first, I was apprehensive as I was making plenty of money doing contract work for Bethel. However, I soon saw this as a perfect opportunity to break away and try something new. At Bethel, I have multiple bosses and rarely get to call my own shots. I took the job at the CEC in the hopes that I would have an increased amount of freedom. Also, I hoped to develop a product on which I could proudly hang my hat.

Initial work on the redesign began in the summer of 2006 while I attended summer quarter at CWU. However, at the end of the quarter, I put the project on hold and began working on BOSS for the Bethel School District. The work on BOSS significantly increased my skill set, and as a result, I threw out everything that I had developed for the CEC as I thought it an inferior design.

Building upon what I had learned on the BOSS project, I adapted much of what I had developed for the CEC. Most notably, this included use of the Zend Framework and my custom-built form generation software. Like BOSS, the CEC has many forms. We have 5 different user types, each with their own registration form. In addition, the site in general is form driven: users enter data through various forms, which is then displayed in various formats throughout the site. Because the CEC shares so much code and structure with BOSS, I often call the site BOSS version 1.5.

I am particularly proud of what I have accomplished at the CEC. Unlike BOSS, the CEC website has 3 distinct tiers. All page logic follows a similar path, allowing for easy learning and modification.

The initial version of the website launched in late December, 2006. Since then, I’ve slowly added various features including: wiki-like page editing, printable timesheets that conform to CWU standards, an activity search, and photo upload and resizing.

Throughout development, I’ve always been plagued by various CWU web design standards. Even though they’re hideous and often unnecessary, all pages must include the top and left banners at all times. Fonts must be of a certain size and from a certain family. With all the requirements, my uncreative mind could not think of anything to make the site look better. Luckily, the CEC is blessed with fairly talented graphic design interns, and in April 2007, Kathryn Model came up with the fairly attractive design that we employ today.

While the new design is visually appealing, I do have several problems with it, all being related to site usability. First, the page has a fixed width and height. Being sensitive to usability issues, I hold the belief that text on the page should scale with monitor size. Secondly, the design relies too heavily on images. Images aren’t picked up well by search engines, so a lot of extra code has to be written in order to make the page more screen reader friendly. Lastly, all text is contained within a fixed-height DIV. This results in most pages having two scrollbars (one for the div and one for the page) on smaller sized monitors. My back cringes every time I see this.

Overall, I’m pretty proud of what I have accomplished at the Civic Engagement Center. For the most part, the code is well written, and is separated into logical chunks. While the PHP code is nice and easy, the database logic and design is a little more cumbersome. The form generation logic present in both my BOSS and CEC projects is a double-edged sword. On one side, the technique significantly reduced the time it takes to create new forms and modify old ones. It also almost completely eliminates the need for validation and saving to the database (the form generator takes care of that). However, with this power comes an increase in database complexity: gains in ease of creation resulted in uneasy data access and retrieval. For someone moderately good at databases, this is not a huge problem for me, but it may become problematic for those who inherit my job.

After graduating from CWU, I handed administrative control over to Tom Nicholson.  From what I can tell, the site has continued to evolve in new and exciting ways.  In May 2008, I was informed by the director of the Civic Engagement Center that my code may possibly be packaged and sold to various school districts in Eastern Washington.

The Civic Engagement Center’s website runs on a custom-built Linux machine running Apache 2.2.3, PHP 5.2, and MySQL 5.0.