Broadview, IL
Independent Consultant (Oct 2002 – Present)
October 2002 — Present
Business & Not-for-Profit Clients
Consulting for businesses and nonprofit organizations developing Web sites and Web applications. Technologies used: AJAX (xmlHttpRequest object and hidden iframe), PHP, classic ASP, MySql, MS SQL Server, SSI (Server Side Includes), XML, JavaScript, (X)HTML, DHTML, Apache, IIS, GIMP for graphics, and standard office suites. Primary focus: AJAX and LAMP stack technology.
Highlights of work for various clients:
- Client-side/front end development on advanced AJAX
enabled Web application.
The Web application follows the MVC paradigm
and simulates a Multiple Document
Interface (MDI) application"a Web desktop.
Technologies used: JavaScript, HTML, DHTML, CSS, AJAX, and XML.
- Coded JavaScript, CSS, DHTML to create movable "windows".
- "Window" content retrieved using AJAX. The called from a menu selection, links, or drag-n-drop action (window to window or window to desktop).
- The windows designed as objects with behavior (resize, move, close, iconize, reopen, etc.) bound to them simplifying the JavaScript code and improving performance.
- Created a dynamic object oriented multi-level menu using JavaScript, CSS, and DHTML. JavaScript prevented submenus end up off screen.
- Created custom drop-down list boxes (select elements replacement) to overcome IE layer bug.
- Eliminated IE memory leaks in Web application created by closures and DOM methods used to change page content.
- Restructure HTML and JavaScript reducing IE memory consumption by 20%.
- Converted Web application toward standards compliant code (structural issues with server-side code made 100% compliance impractical within time frame).
- Cleaned up JavaScript, CSS, HTML, and modifying some XML making application cross-browser compatible specifically supporting Safari, Firefox, IE 6 and IE 7.
- Project management and development of Web base applications.
Technologies used: JavaScript, HTML, DHTML, CSS, AJAX, IIS, SSI, Access,
ASP (VBScript), and MS SQL Server.
- Built intranet that included Web applications for maintenance of phone list and HR Job postings.
- Phone list displayed as a table sorted by clicking the column heading: used JavaScript array methods and DOM methods to change table.
- Phone list edited using grid paradigm where double clicking a row activated input fields within row; clicking done updated the data base via AJAX and ASP.
- JavaScript code to highlight table row and column when user clicks a cell or heading.
- Created a three tiered menu using CSS and, for IE 6, JavaScript. IE conditional comments used to add IE specific code.
- Restructure Web site architecture
- Setup server-side includes (SSI) for content that repeated on pages.
- Reduce page size and improved load times by 50%.
- Made site standards compliant and cross browser friendly specifically supporting Firefox version 1.5 +, IE 6 and IE 7, and Safari.
- Made site accessible conforming to Section 508, IWAS, and W3C recommendations.
- Created Web application for HR staff to create job posting displayed
on the public Web site. Technologies used: HTML, CSS, JavaScript,
ASP, AJAX, IIS, and MS SQL Server.
- The job post editing accessed through a table listing of existing Job notices. Grid style editing of title and classification fields activated by double clicking row.
- Job post activated or deactivated by clicking a check box that immediately updated the database via AJAX.
- Created Web2.0 paradigm content editing for Job description, etc. Special coding character sequences were provided for styling and lists. These were translated into proper HTML with ASP Regular Expressions.
- Additional input and textarea fields added by user as needed. Data updated or inserted via AJAX and ASP.
- The public Web style retrieves active title list as links that, when clicked, load the full description. Formatting done with server-side ASP.
- Embedded third party client specific web applications into client"s Web site. Technologies used: HTML, iframe, CSS.
- Created Daily Log (information to be passed to next shift) Web2.0
application for police department. Technologies used: AJAX, ASP, MS SQL
Server, IIS, JavaScript, DHTML, CSS.
- The application provided for duty officers to add entries using a grid paradigm. Clicking new entry added row to table with input elements. Clicking done submitted the date via AJAX to the Web server. ASP code updated the database and returned a success/fail code.
- Entries could be edited by the original author or supervisor by double clicking the entry row. On double click the row changed to an active form. Clicking done submitted the entry via AJAX.
- Officers access the Daily Log in their cars via the Village's wireless network. They could page forward and backward by duty shift, search on date range, or for key words in entry. Search criteria submitted via AJAX; page updated with data returned to the xmlHttpRequest object.
- Daily log accessed by anyone with network access. Log-in is required to edit or add entries. Log-in is handled through AJAX and session management with the ASP Session Object.
- System maintenance page is accessible by selected records clerks. Grid style editing allows adding officers, changing officer access levels, updating entry categories, and resetting passwords.
- Site feedback and mailing list management module. Technologies used: JavaScript, CSS, HTML, LAMP (Linux, Apache, MySql, and PHP). Gracefully degraded when JavaScript technologies were not supported by the browser.
- Users send feedback, elect to be on a mailing list or remove themselves from a mailing list. Created a JavaScript Object to validate entries on the client with regular expressions.
- Server communication through the xmlHttpRequest with fallback to AJAX through a hidden iframe, or traditional form handling with server-side validation based on technology support by the browser.
- The module allows site manager to send emails composed in an HTML editor to selected mailing list.