Solid experience with the following principles / facets of software engineering and system architecture design...
Created the UIZE JavaScript Framework to enable the creation of RIA (Rich Internet Applications) built using Web standards. Lead development of and contributed a substantial amount of code to the framework. Designed architecture for and implemented key subsystems of the framework, including systems for class inheritance / object orientation, JavaScript modules with dependency resolution, Asynchronous communication (Ajax), service abstraction, DOM manipulation, application events, code compression (minifying) and obfuscation, state interfaces (events and binding), user interface widgets, effects and animation, JavaScript based templating (JST), localization (i18n / L10n), tracking, in situ JavaScript documentation, JavaScript library packaging, build and packaging automation / scripting, unit testing, color manipulation, data manipulation, JSON serialization & deserialization, etc.
Developed and/or contributed to the development of many of the framework's widgets. Wrote extensive documentation for the framework, including reference documentation, explainers, appendixes, etc. Created many example pages to demonstrate and test features of the framework. Managed the Web site for hosting the framework as an open source project. UIZE runs in Web browsers as well as other environments such as NodeJS and Windows Script Host. UIZE is in active and extensive use by Zazzle (zazzle.com), and is hosted on github.
Had the pleasure of working alongside Alain Rossmann (phone.com / OpenWave, vudu, etc.) at Klip for a brief stint until the company made a strategic pivot to a mobile focus that involved eliminating the existing Web offering. While there, I worked on achieving a substantial performance optimization of the site loading, ultimately achieving a 50% reduction in page rendering time. This involved multiple optimizations, from a handful of low hanging fruits to dozens of smaller optimizations, which altogether accounted for a savings of about 2.5 seconds of wasteful browser crunching.
Spearheaded and helped lay the foundation for a world class user interface platform, addressing the challenging problems of scale, performance, testability, tracking, localization, templating, and efficient modularization and reusability for UI code. As part of the platform team, played an integral role in building out Zynga's UI framework that powers Zynga's Platform for Play (otherwise known as zynga.com or ZDC). Several features of Zynga's ZUI framework are inspired by key aspects of UIZE.
Continued developing foundation for Zazzle's UI framework. Oversaw design of systems for server side resolution of JavaScript and CSS dependencies.
As an engineering manager in the Zazzle User Interface (ZUI) group, headed up a team of three UI engineers - one senior with several years of industry experience, one relatively recent Stanford graduate with minimal industry experience, and one fresh graduate. Managed project scoping and resourcing, tracked progress, mentored as a technical lead, and contributed as needed to tackle tricky coding challenges. Liaised with product department to communicate architectural considerations. Developed JavaScript framework features to enable the creation of application features and to encourage good code factoring and reuse.
Developed a user interface framework for the creation of an array of Web-based custom product configuration tools, leveraging Web standards. Worked on many of the first new breed of product configurators, including configurators for custom postage, custom greeting cards, custom digital printed apparel, custom mugs / drinkware. Championed design around the focus of reusable components. Developed many reusable properties of the Zazzle UI framework.
Developed a drag-and-drop RIA (Rich Internet Application) for Sonicopia's Sonifier service to allow users to add audio cues to Web sites in a WYSIWYG interface. Developed a JavaScript abstraction layer for Pulse's Pulse Player (implemented as an ActiveX control for IE, Netscape plug-in for Netscape browsers and others supporting the plug-in API). Developed a framework for an interactive docent feature to allow for easier creation of scripted visual assistant interactions. Did development on a Web service employing Pulse's Veepers technology to ease the creation of new marketing campaigns by licensees of the service. Did development on a mobile version of Pulse's Veepers Web Service.
Developed cross-browser JavaScript framework for authoring Web-based interactive audio applications, such as music remixers. Created exhaustive documentation for the framework, including reference documentation, explainers, tutorials, examples, live tools, etc. Wrote copy and created illustrations for patent applications for company's key intellectual property. Performed digital audio production for interactive audio demos. Managed a small team, performing mentoring and training. Represented company at conferences and other speaking engagements.
Developed the first version of the Headspace (later to become Beatnik) Web site. Maintained all aspects of site's interface, including developing site graphics, HTML, and JavaScript. Served as the webmaster.
Designed and programmed (using Borland Paradox) a guild member database to manage member information for a diverse array of different types of users. Designed forms, posters and promotional flyers. Performed office administration.
Developed an innovative software-based system for sound synthesis as a private project before emigrating to the US. As part of this project, developed a windowing GUI system in Borland Turbo Pascal, with support for movable and resizable windows with non-drawing of non-contiguous obscured areas of UI for underlying windows, a system for icon definitions, a scheme for defining UI layouts and event wirings, and more. Basically, a full application GUI system pre Microsoft Windows.
For extensive online portfolios of my work, consult my detailed resume at...
http://www.tomkidding.com/to/?detailed-resume-portfolios
References available upon request.