Tim Dieckman

tim@joeprogrammer.com

Software Developer

User Interface and Application Architecture

Since beginning my career as a software engineer, I have been involved in the design and implementation in many internal and commercial software applications. My experience has been primarily in developing Microsoft Windows applications with a focus on user interface design as well as application architecture. I strive for innovative designs that can accommodate future improvements. I am available for both short and long term contracts as well as permanent positions.

Work History

 

Consulting/Self Employment

JoeProgrammer (owner)

7/2006 – present

Autoliv

6/2013 – present

1/2012 – 12/2012

Logitech

7/2006 – 10/2007

 

Logitech

9/1998 11/2005

WebCam applications

 

Connectix Corporation

7/1997 9/1998

WebCam applications;

Desktop customization

 

McAfee Associates

3/1996 6/1997

Online payment/antivirus; Personal backup

 

Micrographx, Inc

8/1994 3/1996

Vector drawing application

 

MapLinx Corporation

8/1992 8/1994

Database/geographic mapping application

 

Education

Milwaukee School of Engineering

Bachelor of Science in Computer Science & Engineering

 

Technical Skills

Languages and libraries.

C/C++

MFC (Microsoft Foundation Classes)

COM (Component Object Model)

Java

XML

Operating Systems.

Microsoft Windows (9x, XP, Vista, 7) using C/C++ and MFC

Android using Java

Tools.

Microsoft Visual Studio

Microsoft Team Foundation Server

Eclipse

WiX (Windows Installer XML Toolset)

Strengths/Skills

Commercial Software Development.

Involved in the release of many commercial software applications and successive releases.

User Interface Design (UI/UX).

Worked both individually and in groups to produce easy-to-use user interfaces.

Software Engineering Methodology.

Active in all parts of the engineering methodology to produce software that adheres to requirements, contains good documentation, and provides ease of testing and maintenance.

Innovative/Problem Solving.

Use of object-oriented code with architecture that is easily expandable to shorten successive releases and improve code maintenance.

Technical Leadership.

Provided Developer Lead responsibilities for numerous projects.

Large group projects.

Experience coordinating among large projects between different levels or engineering, marketing, project management, and testing teams as well as end-users.

Interpersonal Skills.

Productive team member who strives for group cohesion and communication.

 

 


Major Projects
Run-In/GainCal/Camera Studio/Label Printer/SW Download Autoliv - contract C++, MFC, GDI/GDI+, Windows

Autoliv designs and manufactures a pedestrian-detection safety system using infrared cameras for automobiles.

Duties: The manufacture of these cameras requires multiple production floor stations. Some of these stations test the cameras using custom software applications. While working for Autoliv, I created new station software and added enhancements to existing stations. Work included architecture and user interface design as well as communication with hardware test equipment and cameras. I also added new features to engineering tools for use by the hardware and firmware engineers to analyze and test cameras.

Blik Calendar Widget  JoeProgrammer Java, Android

This Android productivity app analyzes the text of all calendar events to show the user’s appointments concisely using an appropriate picture and minimal text. For example, if an event’s text is “Birthday party for Joe”, the app will show a picture of a birthday cake with the word “Joe” below it and the time that the event starts. The main UI/UX is an app widget on the user’s homescreen which provides an “always visible” experience. Additional activity screens provide more event details and user customizations. The free version provides most of the functionality with some limitations and a pay version unlocks additional features.

Duties: Developed the original concept, designed, implemented Developed the original concept, designed, implemented, and tested the app. Also performed marketing and continue to provide product support by responding to user feedback and addition of new features. This app was distributed by Sprint for a number of years.

Webcam applications  Logitech - permanent employee and also contract C++, MFC, GDI/GDI+, Windows

Logitech is the leading manufacturer of personal webcams. Besides building the hardware, a set of comprehensive software applications are also included.

Duties: While working first as a permanent employee and then as a contractor, I was responsible for design of application architecture and UI/UX. Serving as Tech Lead for many projects, I also worked with Program Management, Marketing, and Sales to build these applications that provided added benefit to the user.

Products:

The QuickCam Application Suite is the main application that allows the user to interact with the webcam to perform activities such as recording videos, taking pictures, recording time-lapse or stop-motion video, setting up motion detection, and manipulating/viewing any recorded media.

In Version 5, a major new activity-based application was designed. As Dev Lead, I designed the UI/UX, the COM plug-in architecture design and implementation, the Capture Picture or Video plug-in, and the Gallery plug-in.

In Version 6, support for detachable webcam hardware was added. These detachable webcams behaved like point-and-shoot cameras while detached. I designed the media sync UI/UX and integration to the existing application architecture.

In Version 7, the application was broken apart and redesigned to use more of the built in Windows operation system programs.

In Version 8, support for Video Effects was added. Video Effects allow the live video stream to be manipulated in any Windows application that is using a Logitech webcam. I designed the UI/UX and video effects architecture.

The Model Packaging Tool (MPT) is an application used internally at Logitech by marketing, content management, QA, engineering, and the build team to manage, track changes, and create the model packages that are used for the Video Effects features. I designed the UI, defined the workflow states, and worked with all of the tool users to make successive modifications as new Video Effect types were added. To protect the integrity of the model packages and to protect against unauthorized re-use of model assets, I worked on the encryption obfuscation mechanism.

The Video Masks feature extracts the user’s eyes and mouth from the live video stream and performs an isometric projection on to a model which contains a static background image. I proposed the isometric projection concept, implemented the extraction and compositing of the live video to the static image which required extensive optimizations to reach the high frame rates required.

The Video Mask User Creation Tool is an application which allows users to create their own Video Mask packages. I worked with marketing to develop a user-friendly interface to create these models and implemented the application.

Desktop Designer  Connectix C++, MFC, Windows

This Windows 95 application allows users to create and manage themes for Windows tab-based user interface which supported backgrounds, sounds, cursors, and colors.

Duties: Major contributions to an existing user interface design, implementation, and testing.

McAfee VirusScan e-commerce  McAfee C++, MFC, Windows

Electronic commerce for the VirusScan95 application and virus definition file upgrade.

Duties: method of enforcing web-side policies regarding end-user’s subscription. Implementationn.

QuickBackup  McAfee C++, MFC, COM shell extensions, Windwos

This Windows application allows users to create scheduled backups, but also backup/restore individual files manually and easily.

Duties: Redesign of user interface and implementation. Windows virtual folder shell extension design and implementation. User interface for using tape driver integrated directly into Windows Device Manager.

Windows Draw  Micrographx C++, MFC, Windows

This Windows application is a vector drawing application.

Duties: Contribute to user interface design. Extended MFC toolbar classes to provide popout/tearoff toolbars. Implemented OLE (Object Linking and Embedding) to provide container, server, clipboard, and drag/drop functionality.

MapLinx for Windows  MapLinx Corporation C++, MFC, Windows

This Windows application draws database information on a map of the United States.

Duties: Major contributions to speed and implementation. Added additional user interface functionality.

 
 
Website Template by Interspire