Following are a few examples of projects I've worked on, both personal and professional.
If you're running Internet Explorer, in order to view images as intended please be sure to Enable Blocked Content from the yellow bar if it appears at the top of the page.
(How and why should I enable blocked content?)
- Email Campaigner PHP, MySQL
Recently, my employer decided to add an email newsletter to augment the print newsletter we send out. We needed a simple way to automate the process of sending emails to our constituents in such a way that we could easily track link clickthroughs from the email. We did some research and found a few resources that we could have utilized, but none fit our exact specifications and budget, so we decided to program our own. Up to this point, I was virtually unfamiliar with email headers, only having a vague understanding of the purpose and use of MIME headers. I researched what headers I would need to include, and in what format, and what procedures to follow so that our emails were not inadvertently marked as spam.
Once I knew what format emails should be sent in, I began the process of planning how to actually send the emails out and track who clicked what link, from which campaign, and when. Using a combination of RewriteRules, regular expressions, MD5 hashes, and MySQL, I was able to populate the database with clickthroughs.
To start, the Campaigner was provided with the email HTML. Any URL that we wished to track was surrounded with "template" characters. Using regular expressions, the code went through the email before sending and checked the database to see if the URL already existed in the list of hashed URLs. If not, it created a unique MD5 hash for the URL and entered it into the database, replacing the URL in the email with a hashed URL (concatenating the campaign number and user id to the hash).
Using a RewriteRule, I set up all tracked URLs to direct to the same PHP controller, which served the user with a redirect to the page they requested, after adding to the database the user clickthrough information.
I used the same concept to track email views, although with a linked image instead of a link to an outside page. I used PHP to change the headers and to serve the user the correct image after tracking.
All Campaigns are sent using AJAX. In this way, the staff member sending the Campaign can be constantly updated as to how many constituents have received emails at that point, since we had thousands of constituents to email.
- Student Assessments Builder AJAX, PHP
The student assessments builder is a work-in-progress for our forthcoming release of InteractivatePlus, a subscription version of our popular Interactivate activities. This iteration of Interactivate will offer teachers the ability to assess student progress in areas of interest.
The assessments builder will allow teachers to pick and choose criteria to filter student assessments by, such as question types or difficulty level. In order to do this, I have built a JavaScript class that tracks what criteria have been added or removed, and updates the summary and reports sections appropriately using AJAX.
- CSERD Redesign HTML, CSS, JavaScript
My role in this project was to "slice" an existing mockup and rebuild it in HTML/CSS. After the page was built, I was responsible for creating JavaScript "tooltips" with additional information for applicable links.
See it live at CSERD
- Interactivate Resource Browser AJAX, PHP
Extended resource browser library to highlight metadata as it was filtered (using JavaScript) and utilized PHP sessions to remember a user's previous search criteria when they returned to the browse page.
See it live at Interactivate
Drop me a line about my website. Be sure to include your email address if you want a response. A message would be nice too, because otherwise I won't really know what you're emailing me about.
I am a developer/designer living and working in the Research Triangle area in North Carolina. I am currently employed as a web developer and UI designer. I love being able to use both sides of my brain on the job.
My areas of expertise are in PHP, JavaScript, CSS/(X)HTML, MySQL, and the Adobe Creative Suite (namely Photoshop and Illustrator, but I also work with Flash and InDesign frequently). I like to hand-code my pages--perhaps it's because I'm a masochist, or perhaps it's because I'm a perfectionist...or maybe I just really like to type.
Above everything else, I love learning, and experience has taught me that the best way to learn is to do. If I'm not currently doing something that challenges my existing knowledge, I feel I'm missing something.
Copyright © 2008-2009 Kaitrin Wilson