The Music of
Fraley

Home
About Fraley
Listen to Fraley
Music Catalog
Concerts
Contact Info
Friends of Fraley
   

Christopher Lee Fraley

Woodinville, WA 98077

C h r i s @ F r a l e y M u s i c . c o m

(4 2 5) 8 8 1 - 5 2 8 6

Summary

Extensive experience in large-scale software architecture and implementation. Expert in GUI design, COM, C#, Visual Basic, and ActiveX technologies (Scripting, Controls, etc.), having actually designed and implemented substantial portions of these Microsoft technologies. Also fluent in C++, XML, HTML, XSLT, C, Mathematica, and Java, and many other Microsoft technologies (Windows API, .NET, Visual Studio). Prior experience with Perl, 68000 and 6502 Assembly, Lisp, and Pascal.

Experience

Fraley Music, Inc., Seattle, WA

January, 2004 - October 2004

Winkflash client program.  I developed Winkflash Photo Manager downloadable image editor / uploading aid.  This program is designed to allow users to easily browse and purchase prints of digital pictures they have on their systems.  The program is written in C#, using the .NET Framework 1.1.  (Images: Main Browser,  Shopping Cart,  Log In,  Photo Touch Up.)

August, 1997 - Present

Classical music composer.  I left CoManage Corporation to pursue my interests in composing.  I have since completed by first Symphony, a second string quartet, and various orchestra tone poems.  I am also continuing to write software, primarily in Java and C#, to support this web site, and as tools for the Eventide Harmonizer. www.FraleyMusic.com

CoManage Corporation, Pittsburgh, PA

September, 1998 - February 2001

Senior Architect and Programmer for Client GUI of the Integrated Service Manager (ISM) product. As one of the original five employees at this technology start-up, my primary responsibility was owning the client-side architecture and implementation, including leading a team which grew to nine developers. The client application was written in Visual Basic 6.0, and involved creating visualizations of network service topologies and their real-time operational status. I also led the version 2.0 design team and thereby contributed substantially to the server-side architecture.  (Images: ISM 1.0 Topology Display,  ISM 2.0 Topology Display,  ISM 2.0 Data Entry Wizard.) www.CoManage.net

Microsoft Corporation, Redmond, WA

June, 1989 - August 1996

Architect and Programmer for Visual Basic (VB). Having started in the VB team as a programmer, I quickly rose to a technical lead, responsible for the first versions of the VB Control Development Kit, which enabled developers to write VBX’s, an early predecessor of OLE Controls. Became responsible for managing the VBX interface, and VB’s internal implementation of its controls and form package. Lead the “forward” team on VB4, responsible for setting up VB4’s internal infrastructure (for example, memory management that spans from Win16 to Win32 to Macintosh). With VB4, role shifted from focusing on only implementation to focusing also on software architecture. For example, VB4 also marked VB’s adoption of OLE Controls, in which I played a major role in both their design and VB4’s implementation. I was also responsible for the design of and part of the implementation of VB’4 improved data binding model (patent number 5,706,505), which enabled more efficient binding of controls to databases. At the end of VB4, an effort to create a common “forms” package commenced. This lead to my design of ActiveX Designers in VB5, which enabled VB to host any forms package. This technology was used internally by VBA 5.0 to host the Microsoft Forms 2.0 forms package.

1994 - 1996

Architect of OLE Controls (a.k.a. ActiveX Controls). Was one of three key members of the team that designed OLE Controls. This involved forming a support base across disparate potential consumers of the technology (C versus Basic, Office applications versus tools).

November, 1996 - August 1998

Lead architect for Visual Studio Shell. Visual J++ 6.0 (Microsoft’s Java development environment) and Visual InterDev 6.0 are the first products to integrate into the new cross-tool development environment, which will encompass all Microsoft Development tools in the 7.0 product releases. Co-designed the API used to integrate with this Shell, acting as a vision maker, working across multiple teams to build a consensus of how to accomplish this task and to coordinate the requirements. Also participated in the Graphical User Interface (GUI) design for the Shell, particularly in resolving difficult issues relating to the model of the Shell presented to users. Because of previous work on ActiveX Scripting, also played a role in resolving contentious issues in the design of the common debugger. Ironically, much of the technology I co-designed has only recently shipped via Visual Studio .NET.

June, 1995 - August 1998

Lead architect for Visual Basic for Applications (VBA). Responsible for redesigning the programming interface used to integrate VBA into applications, premiering VBA 5.0 in the Office ’97 products (Word, Excel, PowerPoint). Went on to integrate newer technologies, such as ActiveX Designers into the VBA 6.0 design and implementation. Before leaving Microsoft, laid foundation for a VBA 7.0 that more closely aligned VB’s and VBA’s internal design, to help leverage the strength of each in their respective domains. Participated in marketing tour in Europe, presenting 4 hours of material on how to integrate VBA, and the technical benefits of doing so.

November, 1995 - August 1996

Co-Architect of ActiveX Scripting. Designed ActiveX Scripting API. Allowed integration of arbitrary languages into Internet Explorer (starting with version 3.0), as well as any Windows application to integrate any of these scripting languages. Technical contact to language implementation teams (VBScript and JScript). Gave a presentation at Microsoft’s Internet Programmer’s Development Conference (PDC) on ActiveX Scripting.

IBM, Owego, NY

Summer 1986

Participated in the digital design of a 10 MIPS military processor. Wrote documentation on the design, investigated a hard-wired core versus a micro-code core for the implementation of the processor. Interacted with a team of eight other designers.

Programmation, Inc. , Paoli, PA

Summer 1985

Wrote PC software that managed robots moving on a network of monorails. Implemented core routing and traffic management systems, and fault discovery and recovery. Programming in cooperative multitasking C environment.

Life Energy Research Foundation, Mt. Penn, PA

Summers 1982 - 1985

Developed software products including patient database, symptom analysis system, and an infrared scanning system for the Apple II. Development involved writing own DOS, disk copy-protection schemes, licensing-enforcement schemes, hi-res color graphics, and a graphics printer. Job involved interaction with sales staff, determining proper functionality for software based on this interaction.

Education

Carnegie Mellon University, Pittsburgh, PA

Fall 1985 - Spring 1989

B.S. in Computer Engineering.  Course concentration in areas of programming language design. For undergraduate research project, wrote a LISP and C system for generating and processing sound sample files, ultimately culminating in a research paper published in the IEEE (see below). Also did research projects on the use of wave guide filters to model musical instruments, and on re-synthesis techniques to simulate wind instruments.

Patents and Papers

Fugue: A Functional Language for Sound SynthesisRoger B. Dannenberg, Christopher Lee Fraley, Peter Velikonja. IEEE Computer 24(7): 36-42 (1991), available online.

Patent on OLE Controls: Container independent control architecture, Christopher A Zimmerman, Christopher Lee Fraley. Patent number 5,911,068 issued June 8, 1999; patent number 6,067,578 issued May 23, 2000.

Patent on Databinding for OLE Controls: Method and system for binding data in a computer system, Christopher Lee Fraley, Jerry J. Dunietz, Andrew Layman, Christopher A Zimmerman, Gunnar Mein. Patent number 5,706,505 issued January 6, 1998.

Licensing of OLE/ActiveX Controls: Method and system for licensed design and use of software objects, Christopher Lee Fraley, Michael Halcoussis, Christopher Alan Zimmerman, Alan W Carter, Scott Michael Wiltamuth, Gary S Burd, C Douglas Hodges. Patent number 6,059,838 issued May 9, 2000.

Property pages for OLE Controls: Method and system for adding application defined properties and application defined property sheet pages, Christopher A Zimmerman, Christopher Lee Fraley, John E Elsbree. Patent number 5,682,510 issued October 28, 1997; patent number 6,208,337 issued March 27, 2001; patent number 6,288,720 issued September 11, 2001; patent number 6,304,258 issued October 16, 2001.

Query Service design for Visual Studio shell: Object interface control system, Christopher Lee Fraley, Christopher A Zimmerman. Patent number 6,304,918 issued October 16, 2001.

ActiveX Scripting: Script Engine interface for multiple languages, Christopher Lee Fraley, Samuel James McKelvie, Victor Andrew Stone, Robert Victor Welland. Patent number 6,275,868 issued August 14, 2001.

ActiveX Designers: Run time object layout model with object type that differs from the derived object type in the class structure at design time and the ability to store the optimized run time object layout model, Christopher Lee Fraley, Michael Halcoussis, Christopher Alan Zimmerman, Alan W Carter, Scott Michael Wiltamuth, Gary S Burd, C Douglas Hodges. Patent number 6,263,492 issued July 17, 2001.

Background

Raised in Reading, PA. Four-time International Science and Engineering Fair finalist, with projects ranging from mathematics to natural language processing using computers. Composer of a symphony, two operettas and numerous chamber music pieces (my music resume may be found here).

References available upon request.

This page was last updated on 13-Dec-2004.