Thomas K. Burkholder


Work history in detail.


Period: Employment:
Feb 2018 - Feb 2019 Apple Inc. Consulting software engineer and general fixer in the Apple Media Products division, the modern incarnation of the iTunes Store. Everything old is new again
Apr 2014 - Jan 2018 Raised my son. Built a 5000 square-foot house as my own general contractor. Ran a lot. Travelled quite a bit. Didn't do much with technology at all.
Mar 2013 - Mar 2014 Apple Inc. Worked as an engineer on the iWork project, getting back to my client-side Objective-C roots, and finally digging into iOS.
Aug 2007 - Feb 2013 Apple Inc. Managed a team of engineers from Apple's Vancouver BC Engineering offices, responsible for the iTunes Store internal customer support application, fraud countermeasures, and a random assortment of other stuff.
May 2006 - Aug 2007 Apple Computer. iTunes U. Gloriously free of e-commerce and all of its ills, I designed and implemented new features, including lucene-based search and web services apis.
Jun 2002 - May 2006 Apple Computer. As part of the original iTunes Music Store team of 7 engineers, helped to design, implement, and deploy the world's premier online music store, with sales currently exceeding 500,000,000 downloads. Inventor on several patent applications but especially: 20050021478 Method and system for network-based purchase and distribution of media.
Jul 2001 - Jun 2002 Apple Computer. Implemented major e-commerce and UI compenents for transitioning the old (free) iTools service to the new (fee-based) .Mac service which has earned Apple many millions of dollars since.
Dec 1999 - Feb 2001 Sr. Software Engineer, Resonate. Responsible for object-management middleware component framework design, creation, and leadership; principal technologies are java (as usual), CORBA (Orbacus/Java 4.01).
Dec 1998 - Dec 1999 Sr. Software Engineer at Oracle. Responsible for Java UI component creation and maintenance as well as work on a XML-DHTML generation framework (XSLT/java/javascript).
May 1998 - Nov 1998 Consulting at Pacific Data Images with Fresco technology. Responsible for java (Fresco) framework development, general application troubleshooting, and planning for future IT design.
Jan 1997 - May 1998 Infoscape, Inc., Senior Software Engineer. Responsible for design and implementation of major frameworks and application subsystems in Java. Areas of specialization include new UI components, object graph management, web publishing, SQL generation, validation.
Jan 1996 - Jan 1997 Sun Microsystems, Inc., SunSoft Openstep team, Senior Software Engineer. Responsible for integrating new Openstep code into Solaris/Openstep, fixing application and foundation kit bugs, maintaining the Mail application and implementing the Sound subsystem.
Nov 1994 - Jan 1996 AT&T Wireless Services, Consulting Software Engineer (Formerly McCaw Cellular). Project was Axys McCaw Application Framework, a NEXTSTEP/Sybase customer management architecture. Responsible for all GUI frameworks, including a set of re-usable IB palettes, a re-worked Enterprise Objects Framework (EOF) interface layer, extensions to existing NEXTSTEP appkit classes and a GUI/database validation subsystem. Also developed and taught a developer training course. Also consulted with Swissbank (Chicago) and Revco (Cleveland) for parts of this time. Consulting services provided through FOJ, Inc, of Seattle WA and Vanguard Software Corp., of Chicago, IL.
July 1993 - Nov 1994 NeXT Computer Inc. Premium Developer Support. Duties included support of large corporate developers with difficult technical problems, companies included Meijer, AT&T Wireless Services(McCaw), Pan Canadian Petroleum, and the US Navy. Frequent on-site visits, coordination with the sales force, and occasional small product design and training were also part of the job. Also filled in as a developer trainer multiple times.
Sept 1992 - June 1993 NeXT Computer, Inc. Developer Support. Duties included communication with corporate and third-party developers; problem identification, research and resolution in a wide range of technical areas; some on-site support.
May 1992 - Aug 1992 University of British Columbia Commerce Dept., MIS Division, full time as applications developer and systems administrator of a Group Decision Support System, for a lab of NextStations.
Sept 1990 - Aug 1992 NeXT Computers Canada Inc., part-time as a Campus Consultant, supporting NeXT users and promoting NeXT on and off campus.
May 1991 - Aug 1991 J. Hills Radiology, Inc., full-time as a NEXTSTEP developer, building a radiological image management system.
May 1990 - Aug 1990 UBC Computer Science Dept., full time as an application developer for the freshman NeXT lab.
Sept 1989 - March 1990 UBC Computer Science Dept., part time as a lab assistant for the department Macintosh lab.
Summer, 1988 Brisbois Bros. Gold Mining, Yukon Territory, Canada. Worked as a heavy-equipment operator.
Summers, 1984-1988 Darfield Building Products, Inc., of Darfield BC, Canada. Worked full time as mill worker, salesperson, housebuilder, heavy-equipment operator.


BSc (Computer Science) University of British Columbia (UBC).
High School Diploma, Kamloops Senior Secondary School, Kamloops, BC, Canada.

PROGRAMMING LANGUAGES (in order of proficiency)

Java, Objective-C, C, Various SQL flavours, javascript, Display Postscript, C++, Prolog, Lisp, Motorola 68000 assembly, Modula-2, Pascal, Basic.


iOS SDK, JDK, WebObjects, EOF, Cocoa, Oracle, PostGreSQL, Orbacus 4.01 (CORBA 2.3), JDK, swing, AWT, JDBC, DBKit, NEXTSTEP developer and operating environment (1.0 - 4.x), Sybase, etc.


iOS, Mac OS X, Windows 2000, Windows NT 4.0, RedHat Linux (minimal), Solaris 2.5.1, NextStep (Mach/Unix/bsd4.3), HP-Apollo (UNIX bsd4.3), MS-DOS


420050021478: Method and system for network-based purchase and distribution of media
120070271188: Digital media acquisition using credit
220060248114: Techniques for acquiring a media season of digital media assets
320060212401: Method and system for network-based promotion of particular digital media items
520040215534: Method and system for network-based allowance control


iTunes Music Store was a radically new way of purchasing music online. My responsibilities included initial architecture of a pluggable content-importation tool for music (samples, metadata, cover art, the works), and an implementation of same for the Warner label; later I was responsible for design and implementation of the commerce model, credit-card authorization engine, integration with SAP, commerce UI implementation, and price modelling. After the initial release I was responsible for the commerce and much of the account UI components of 20+ and counting international stores, complete UI and architecture of a gift certificate/allowance mechanism, as well as a more recent mechanism for gifting music (patent pending). Throughout the project I was a principal architect and design leader. The iTunes Music Store has been Apple's most successful online venture, and the most successful online music store in the world to date.

iWork. Apple's productivity client applications for iOS and MacOS. Monolithic codebase, large numbers of developers, high levels of integration between subsystems. I wrote network integration layers, and syncing UI; it was a great way to get refreshed on modern iOS/MacOS X client APIs and practice.

iTunes U. Apple's e-learning solution. My involvement was mainly back-end data management and database integration.

.Mac. A suite of internet applications that provide Apple customers with the ability to painlessly enhance their internet experience. I was responsible for the design and implementation of the e-commerce underpinnings of the free iTools service's transition to the subscription-based .Mac service, particularly in the area of credit card processing, commerce UI, and SAP integration.

AreaJ. An open-source perl/mod_perl/mysql/apache/ImageMagick based suite of web applications for management, presentation, and editing of digital photographs.

Designer of a CORBA/java based object-management middleware solution for Resonate's second-generation product. Can't say more until the product is available.

Maintenance and new versions of Oracle's AWT and Swing-based Table objects; design and implementation of localized calendar UI object, Design and implementation of GanttChart UI object.

Infoscape FrescoDesigner versions 1.0 thru 3.x, and Fresco Frameworks. Infoscapeís FrescoDesigner is a complete database front-end solution, including tools for object-relational mapping, GUI layout and connection, as well as frameworks for complex database access. (1997, 1998).

Solaris Openstep. Sunís implementation of the OpenStep Spec developed jointly by Sun and NeXT. Openstep included a fully-featured application-development library that implements the NEXTSTEP look-and-feel, as well as the basic productivity apps such as a mail application and text editor. My work on Openstep included integration of new application-kit code, porting of NeXT's Enterprise Objects Framework (EOF), bug-fixing of existing code (mostly mail-related) and design and implementation of large parts of the sound subsystem. (1996). OpenStep and NextStep have since evolved into Apple's upcoming Mac OS X 'Rhapsody' Operating System.

McCaw Application Framework. This object-to-database persistence effort was an augmentation of NeXTís Enterprise Objects Framework (EOF). As part of a team of about 10 engineers, my responsibilities were to design, develop, fix, and maintain the GUI architecture and tools, including InterfaceBuilder palettes, re-usable interface objects, user-input validation subsystem, and GUI-side database interface code. Also was solely responsible for development and delivery of SecurityManager a table-maintenance application managing a complex schema. (1995).

MSMail Bundle. This is a bundle designed for use with NEXTSTEP 3.3ís, providing the capability to send and receive Microsoft-format Mail. (1994).

TTools. A library/IB-palette combination designed as an advanced IB primer, released as a NeXT mini-example for the use of the NEXTSTEP developer community. (1993). Related speaking engagements at the East Coast Developer Conference, NEXTSTEP Expo and a feature article on IB-palette development for the NeXT-produced developer journal, NXApp (1993, 1994).

NeXT Premium Team Support. I designed and field-tested the delivery of a team support policy for NeXTís Premium Developer Support customers, so that I was able to return to school part-time to finish my degree (1993).

NeXTAnswers faxback software (team effort), a utility package that collates multiple documents in many formats, converts to PostScript, and faxes the result. In production as the back-end of the NeXTAnswers document-retrieval system (1993).

MeetingPlace. A NEXTSTEP group decision support system application. Helped design and implement a coordinated, multimedia object-sharing architecture for UBCís Commerce Department (1992).

FUBAR: Fully Unified Basic Appointment Resource. (Code Name). A UNIX/X11 application allowing individuals and groups to organize and integrate their schedules across a LAN. (1990, 1991).