Apple Developer Connection
Advanced Search
Member Login Log In | Not a Member? Contact ADC
WWDC 2004 WWDC Photos

Conference Sessions

The in-depth technical sessions are the heart of the conference, where you'll hear the very latest developer information and get expert guidance from Apple engineers and industry experts on technologies and programming techniques. This year, the conference will be bigger than ever, with more than 190 high-quality sessions currently planned across seven tracks—Application Technologies, Development Tools, Graphics and Media, Enterprise IT, Hardware Technologies, OS Foundations, and QuickTime and Digital Media—spanning the entire range of Apple technologies.

More than 110 of the first confirmed sessions are listed below, with more to be added over the next few weeks.


Session Descriptions


On Off

Display


Sorted by Session # Sort by Title Sort by Day Sort by Room

100

Beyond syslog: The New Log Subsystem

Tuesday, 9:00 - 10:30

Russian Hill

This session will discuss a new subsystem for managing log data which consolidates logging information, provides it in a consistent format, and makes it much easier for an administrator to analyze system behavior. Usage of the new system and APIs for generating and monitoring log events will be discussed.

101

Certificate Management in Mac OS X

Wednesday, 10:30 - 12:00

Nob Hill

Mac OS X Panther introduced services to support Digital Certificates. In this session, you'll learn the API sets for accessing certificates and importing and exporting PKI objects. You'll also learn the facilities for presenting a consistent user interface for certificate actions and get a preview of upcoming additions and enhancements.

102

Network Kernel Extensions

Wednesday, 3:30 - 5:00

Marina

Learn about the new and improved Network Kernel Programming Interfaces for developing Network Kernel Extensions (NKEs). This session will walk through the various types of NKEs using concrete examples.

104

Core Networking Update

Wednesday, 9:00 - 10:30

Nob Hill

Mac OS X offers a rich set of programming interfaces for networking—combining built-in support for industry-standard media types, protocols and services with innovative services from Apple. This session provides an overview of new networking capabilities and APIs available in Mac OS X and demonstrates how they can be used to accomplish a wide range of networking tasks.

105

Getting to the Core of Mac OS X with Darwin

Wednesday, 10:30 - 12:00

Russian Hill

Apple makes available the source code to many components of Mac OS X, including its Unix-based core, Darwin. This session will introduce you to the tools and techniques for building Darwin directly from the source. It also will provide a brief update on, and pointers to, other open source technologies covered at the conference.

106

Service Management in Mac OS X

Thursday, 9:00 - 10:30

Marina

If you develop StartupItems or background processes (daemons), this session will describe the best techniques for developing these services for today and the future.

107

Porting Unix Applications to Mac OS X

Friday, 2:00 - 3:30

Mission

Porting Linux and Unix applications to Mac OS X is easy. This session will discuss tools and APIs designed to make it even easier. We will cover all the basic concepts in bringing Unix applications to Mac OS X.

108

File System Best Practices for Application Developers

Friday, 5:00 - 6:30

Mission

Come and learn how to structure your I/O to improve your application's performance. We will discuss direct and async I/O, when using mmap is appropriate, as well as upcoming enhancements to the file system.

200

Core Audio in Depth

Tuesday, 10:30 - 12:00

Russian Hill

Mac OS X features a state-of-the-art audio engine in Core Audio, enabling the most powerful music and audio applications available today. Learn how you can harness these capabilities for your own development. This session will bring you up to speed on the latest innovations including OpenAL for gaming audio, as well as cover basics such as codecs, APIs, audio file formats, and more.

203

New Developments in Quartz 2D

Tuesday, 2:00 - 3:30

Presidio

Quartz 2D is the powerful 2D graphics engine in Mac OS X, with advanced features such as transparency, anti-aliasing, and PDF support. Exciting new developments in Quartz 2D will be discussed in this session along with a focus on best practices you should follow to get the most out of Quartz 2D. This session is a must see for all WWDC attendees who use 2D graphics in their applications.

204

Graphics and Media State of the Union

Monday, 5:00 - 6:30

Presidio

Mac OS X contains an industry-leading array of 2D, 3D and multimedia technologies that will make your application excel. This session will provide in-depth information on Mac OS X's graphics and audio architecture and provide the latest information on Quartz 2D, Quartz Extreme, OpenGL, and QuickTime. This session is the perfect kickoff for developers attending the Graphics and Media track.

205

Audio Hardware and MIDI

Tuesday, 2:00 - 3:30

Russian Hill

This session will provide both device and application developers with an overview of Mac OS X audio and MIDI device support. Emphasis will be placed on audio transmission over high-speed serial interfaces such as USB and FireWire, along with techniques for extending the functionality provided by the Apple drivers for standardized interfaces.

208

QuickTime API Update

Wednesday, 2:00 - 3:30

Presidio

This session will provide an overview of the new developments in QuickTime APIs. Developers attending this session will learn how to take advantage of these new directions in their own applications

209

Mac OS X OpenGL in Depth

Wednesday, 9:00 - 10:30

Russian Hill

Learn the techniques and features that allow you to take full advantage of the high-performance integrated graphics pipeline in Mac OS X. This session will focus on Mac OS X's OpenGL architecture, platform-specific features, and advanced capabilities. A must for any developer new to Mac OS X or OpenGL and for those who want to stay up-to-date with the latest OS-level features.

210

OpenGL Optimization: Best Practices

Thursday, 10:30 - 12:00

Marina

This session focuses on techniques to optimize your application's use of OpenGL and 3D graphics hardware. A variety of optimization strategies, such as display list and vertex array optimizations, are discussed. A great session for all OpenGL developers covering the latest in high-performance graphics.

211

OpenGL Optimization: Live

Thursday, 3:30 - 5:00

Marina

The "best in class" suite of OpenGL tools in Mac OS X helps take your application's graphics to the next performance level. In this session, Apple's OpenGL experts will work live on stage to debug OpenGL client applications and to work through real-world optimization scenarios. This session will elaborate on topics discussed in other OpenGL optimization sessions. A must-see session for all OpenGL developers.

212

Mac OS X Printing

Thursday, 9:00 - 10:30

Nob Hill

The Mac OS X printing system is the integration point for many key technologies: Quartz, ColorSync, Rendezvous, and more. This session will cover how these technologies combine to make a powerful and flexible printing architecture. Areas to be discussed include printing best practices, CUPS printer driver development, Cocoa PDEs, and PDF workflow. Attend this session to get the most out of Mac OS X printing system.

213

QuickTime Audio Update

Thursday, 3:30 - 5:00

Russian Hill

This session will discuss the latest advances in QuickTime's audio architecture. Learn techniques and best practices for incorporating audio in your applications with QuickTime.

216

Alternative Programming Languages for QuickTime

Thursday, 10:30 - 12:00

SOMA

Applications and in-house tools that use QuickTime can be developed using a wide variety of programming tools and languages, including procedural languages like C; application frameworks like Cocoa and PowerPlant; rapid application development tools like REALbasic, Visual Basic, Revolution, and AppleScript Studio; and even scripting languages like Tcl and Perl. In this session we'll survey these and other alternatives, illustrate how to use a few of them, and assess their capabilities. Come experience multimedia deployment possibilities you never imagined.

218

Java 2D and 3D Graphics on Mac OS X

Friday, 2:00 - 3:30

North Beach

This session will discuss the drawing capabilities of Java in Mac OS X. We will offer tips and techniques for getting the most out of anti-aliased Quartz-based Java2D graphics, the Java3D API for rendering 3D universes, the Java Advanced Imaging API for sophisticated image manipulation, and the high performance OpenGL-based binding available through jogl. Come and see programming examples and demos of many of these technologies and techniques.

219

Transitioning to Quartz 2D

Friday, 3:30 - 5:00

Presidio

As Quartz 2D, the powerful 2D graphics engine in Mac OS X continues to evolve, it moves further and further ahead of QuickDraw. Learn how to transition your applications from QuickDraw to Quartz 2D to take advantage of new features and capabilities. This session outlines a Quartz 2D transition plan for QuickDraw developers and explores solutions to common problems they might encounter. This session is a must for all Carbon developers.

221

Using Digital Imaging Devices in Your Application

Friday, 5:00 - 6:30

Presidio

The Image Capture Framework is evolving to support a wide range of imaging devices and communication protocols. Attend this session to hear about the latest Image Capture-related developments and to learn how to harness the power of digital imaging devices in your application.

222

Server-side Graphics

Friday, 9:00 - 10:30

Russian Hill

Mac OS X contains a variety of powerful imaging technologies that can be used to perform advanced server-side graphics operations. This session will cover techniques to create PDFs using Quartz 2D's Python bindings, leverage the Scriptable Image Processing System for bitmap image operations, and explore OpenGL rendering on headless server configurations. This session is perfect if you are developing server-side applications that need to dynamically create rich graphic content.

223

Audio Unit Development and Hosting

Tuesday, 3:30 - 5:00

Russian Hill

Mac OS X features a robust plug-in architecture for DSP effects and virtual instruments, called Audio Units. This session will take an in-depth look at developing robust Audio Units and provide best practices that all host applications should follow. Also learn about the Audio Unit logo licensing program, which is designed to let your customers know that your product includes or supports Audio Units.

300

Development Technologies Overview

Monday, 3:30 - 5:00

Presidio

With rapid development technologies, a groundbreaking user interface, and powerful features like built-in performance optimization tools, Xcode can help you work faster and smarter. Come to this session to learn how using Xcode Tools can increase your productivity and help you deliver outstanding Mac OS X products. You will see a demonstration of the latest development technologies from Apple, and get an update on Apple's current plans and vision for programming tools on the Macintosh. This session is intended for all Mac OS X developers.

301

Automated Testing Using AppleScript

Tuesday, 9:00 - 10:30

Marina

Using practical examples, this session will teach you how adding an AppleScript interface to your application can provide an efficient and powerful way to create thorough automated testing. Real-world techniques will be highlighted that you can immediately begin to incorporate into your work. This is an intermediate-level session.

302

Objective-C++: Language and Runtime Integration

Tuesday, 10:30 - 12:00

Mission

Objective-C++ combines the dynamic object model of Objective-C with the rich data abstraction facilities of C++ to create the ultimate "power tool" for many programming tasks. We will explore the runtime model provided by Objective-C and then discuss Objective-C++ design goals and philosophy, and Xcode integration and support. We'll also cover issues in performance and compatibility. This session will use real-world programming examples and will cover recent language additions to simplify C++ STL usage. This is an introductory to intermediate-level session.

304

Introduction to Xcode

Tuesday, 3:30 - 5:00

Presidio

In this session, you'll get an overview of the latest release of the Xcode development tools and learn all about the new features and updates. This session will include a walkthrough of the IDE, detailing features for editing, building, and debugging your projects, as well as other aspects of the development cycle. We will also talk about the future of Xcode tools. This is an introductory to intermediate-level session.

305

Using AppleScript Studio

Wednesday, 3:30 - 5:00

Mission

Come get an in-depth look at advanced AppleScript Studio features as we present practical applications of this sophisticated development technology. Discover how AppleScript Studio enables rapid development of full-featured Mac OS X applications. This is an intermediate-level session.

306

Importing Development Projects into Xcode

Wednesday, 2:00 - 3:30

Mission

In this session, we demonstrate how to use Xcode to further develop an existing project from other development environments. Included in the session will be techniques on how to import open source projects and C/C++ projects from CodeWarrior, as well as how to configure imported projects to best meet your needs. Debugging project configurations will also be featured. This is an intermediate-level session.

307

Maximizing Performance: Got Shark?

Wednesday, 9:00 - 10:30

Presidio

Want to get the best performance out of your Mac OS X application? This session is all about performance: How to think about it, How to measure it, and How to improve it. We will go in depth on how developers can use Shark—one of the performance tools that ships with Xcode—to identify performance problems related to memory bandwidth and algorithmic issues, and we will describe some new features that make Shark an even more powerful performance tool.

308

Increasing Productivity Using Xcode Part I

Wednesday, 10:30 - 12:00

Presidio

This session explores a range of intermediate and advanced topics to show you how the Xcode integrated development environment can work best for you. We'll examine project configuration, build styles, and build system optimizations. We'll also cover the use of integrated source code management and workflow inside of Xcode, as well as building from the command line.

309

Increasing Productivity Using Xcode Part II

Wednesday, 3:30 - 5:00

Presidio

In this, the second in a series of advanced Xcode sessions, you'll learn how to organize your configuration for large project development, use distributed builds, and configure for workgroups. Topics will also include the use of scripting to drive the Xcode environment through repetitive tasks, as well as maintaining projects that require sharing source code with Project Builder and make-based development.

311

Using Performance Analysis Tools for Mac OS X

Tuesday, 9:00 - 10:30

Haight/Ashbury

Xcode includes a broad suite of tools for profiling and analyzing applications. This session will give an overview of all the performance tools that ship with Xcode, including Shark, Spin Control, MallocDebug and others. We will explain how developers can take advantage of these powerful tools to identify and fix performance issues. This is an introductory to intermediate-level session.

314

Compile and Link Strategies on Mac OS X

Friday, 5:00 - 6:30

Russian Hill

Mach-O is the native runtime model for Mac OS X, and from performance to accessing system technologies, Mach-O is the dynamic runtime of choice for all compiled code. Learn all about Mach-O, including details of the dynamic linker, the use of shared libraries, and static linking. Learn how your choices in link options affect performance at runtime. Important topics of prebinding and launch performance will be covered, as well as details of advanced language usage: C++ STL, migration from Linux/Unix and Windows implementations, and wchar_t. This is an intermediate-level session.

315

Debugging in Xcode

Friday, 2:00 - 3:30

Nob Hill

In this session we examine the latest concepts, improvements, tips, and tricks for debugging in Xcode. Learn how to configure, run, and debug applications using source-level debugging within Xcode. Also learn more about Xcode's powerful "Fix and Continue" feature, which allows you to make changes to a running application, as well as how to use the debugger's formatter to make your debugging experience even more productive. This is an introductory to intermediate-level session.

317

Interface Builder: Techniques for the Advanced User

Friday, 5:00 - 6:30

Haight/Ashbury

This session on Interface Builder will cover advanced topics such as building and debugging Cocoa palettes, so that you can leverage Interface Builder more effectively.

318

Using Xcode for Java Development

Wednesday, 9:00 - 10:30

North Beach

This session will showcase the great features that Xcode offers Java developers. Some of the topics we will cover include: J2EE and JBoss, Ant integration, javac and/or jikes—which one to use and when, debugging with GDB and JDB, Applets, and application packaging. We'll also highlight Xcode's ability to build JNI applications easily, and discuss how to use native Cocoa controls to build a great Aqua user interface for your Java application.

400

Java State of the Union

Monday, 5:00 - 6:30

Nob Hill

The highly optimized and tightly integrated implementation of J2SE in Mac OS X—along with support for essential technologies such as Java3D and Java Advanced Imaging (JAI)—makes it the most compelling Java desktop development and deployment platform on the market today. And for server environments, Mac OS X Server v10.3 now includes the popular JBoss application server, as well as Apache Tomcat, making development and deployment of J2EE applications easier than ever. In this session, you'll discover what Apple has in store for Java on Mac OS X and learn how Java takes advantage of Quartz, Cocoa, and other Mac OS X frameworks to create and deploy competitive solutions on everything from a single iBook to a rack of Xserve G5s.

401

Advanced Website Development Techniques

Monday, 5:00 - 6:30

Russian Hill

This session is for webpage developers who want the latest information about developing highly interactive data-intensive web applications using XmlHttpRequest objects, LiveConnect, and forms with rich text content. Safari's support of these technologies provides web developers true separation of data and user interface.

402

Understanding the Font APIs in Mac OS X

Tuesday, 2:00 - 3:30

Marina

This session outlines the font technologies in Mac OS X and provides programming techniques that you can use to improve the way your application works with fonts. We'll discuss techniques for supporting font collections and the related font management advances in Carbon, Cocoa, and Font Book, as well as extensions to the printing architecture that provide additional flexibility in handling PDF and PostScript font data.

403

Using Mac OS X Installer's Features to Deliver Your Application

Tuesday, 3:30 - 5:00

Marina

This session will teach you how to use the Mac OS X installer technology and introduce new top requested features. We will explain how you can build an installer for your application, make your own installation packages, and personalize the installation experience using custom panes.

404

Fundamentals of Cocoa

Tuesday, 9:00 - 10:30

Mission

The object-oriented Cocoa application framework makes it easy to take full advantage of Mac OS X's innovative technologies—whether you are building a new application from the ground up, creating a next generation Mac OS X application, or even if you are new to the platform. This beginner-level session will provide the fundamentals for anyone new to the Cocoa framework and its primary language, Objective-C. We will explain how to take advantage of common Cocoa programming paradigms such as target/action, delegation, bindings and the document architecture, and show you, through example source code, how to use the power of Cocoa to easily create Mac OS X applications.

405

Understanding Document Binding on Mac OS X

Tuesday, 10:30 - 12:00

Marina

Uniform Type Identifiers (UTIs) are a new way of specifying document and data types. In this session, we'll cover how UTIs are used by Launch Services to enhance and simplify document binding. We will also discuss new application information property list keys, as well as APIs for controlling document binding user preferences.

406

Modern Networking Using CFNetwork

Tuesday, 5:00 - 6:30

North Beach

CFNetwork is at the heart of the fast and reliable networking built into Mac OS X. This session is for those interested in accessing the network from within an application's normal event context without getting into the details of raw sockets or specific networking protocols. We will cover CFNetwork's feature set, highlighting what's new, how and when to use CFNetwork, and how CFNetwork fits within the Mac OS X architecture. We will also provide detailed examples of HTTP and FTP transactions, including integrating proxy and authentication support, as well as exporting and discovering Rendezvous services and asynchronous DNS lookups.

407

The Accelerate Framework

Tuesday, 3:30 - 5:00

Pacific Heights

The Accelerate Framework in Mac OS X is a powerful suite of platform-optimized libraries designed to provide high performance mathematical facilities such as LAPACK, BLAS, vMathLib, and image processing operations. This session will also discuss new advances and extensions to these libraries. The Accelerate Framework takes full advantage of G3, G4, and G5 processors to unlock best-of-class performance in your application. Attend this session to learn how the Accelerate Framework can take your application's performance to the next level.

408

Distinguish Your Application Through Excellent UI Design

Tuesday, 10:30 - 12:00

Presidio

The touchstone of a great Mac OS X application is its Aqua look and feel. More than just stunning visuals, Aqua gives you the opportunity to make your application stand out from the competition—with elegant function as well as beautiful form. This session teaches the techniques and design methodologies to employ when designing for Aqua. We'll discuss mental models and how they affect menu and window layout, how to approach common window layout scenarios, how to properly communicate status and feedback, common UI design practices to avoid, and much more. This session is a must for anyone involved in UI design for a Mac OS X product.

409

What's New in Cocoa

Tuesday, 5:00 - 6:30

Presidio

The Cocoa application framework continues to improve and evolve. This session explains some of the new features and APIs being planned for Cocoa, and offers suggestions on how they can be used in your applications. Topics to be covered include new advancements in controls, drawing and graphics, accessibility, document architecture, and more.

411

Cocoa Tips and Tricks

Wednesday, 3:30 - 5:00

Nob Hill

In this session, you'll discover strategies, shortcuts, and practical tips that can help you quickly solve a problem or add unique effects to your application. Come learn about custom controls, advanced graphics techniques, special networking components, and more from the Cocoa experts at Apple. This is an intermediate-level session.

412

Moving Applications to Unicode

Wednesday, 2:00 - 3:30

North Beach

The Unicode-based APIs in Mac OS X are critical to producing a best-of-breed application and meeting customer expectations around the world. Come find out how to move your Script Manager-based application to Unicode or create a brand-new Unicode application from the ground up. Learn about the importance of Unicode for the Japanese and Chinese markets, and discover what's new in Mac OS X international support.

413

Plug-in Development for Safari and Web Kit

Wednesday, 3:30 - 5:00

North Beach

This session will cover best practices for Safari browser plug-in development and deployment, CFM versus Mach-O plug-ins, and techniques for everything from general plug-in development for Safari and Web Kit to advanced methods of integration with JavaScript.

414

Taking Advantage of the New Web Kit Features

Wednesday, 9:00 - 10:30

Pacific Heights

Apple built the Safari web rendering engine using the APIs of Web Kit. You can do the same in your application. In this session, Carbon and Cocoa developers will learn how to use the Web Kit to add powerful HTML presentation, JavaScript processing, and accelerated Internet capabilities to their applications.

416

Using and Customizing Cocoa Bindings

Wednesday, 5:00 - 6:30

Russian Hill

The Cocoa Bindings (the Controller Layer) introduced in Mac OS X Panther provides a new and easier way to manage user interfaces in Cocoa applications. Attend this session to learn about using and customizing bindings, and to see how this technology will evolve. This is an intermediate-level session.

417

Easy and Powerful XML Processing with Cocoa

Friday, 10:30 - 12:00

Presidio

From the operating system to file formats to the exchanging of data on the web, XML plays an increasingly important role wherever an open, cross-platform, scalable solution is needed. This session is for developers who are familiar with XML and want to learn about how new Cocoa APIs in the Foundation framework can enable processing, creating, or transforming any of the many XML-based file formats, web protocols, or representations in use today.

419

Best Practices in Website Development

Thursday, 10:30 - 12:00

North Beach

This best-practices session provides a comprehensive overview of Safari's Document Object Model, CSS, and JavaScript support. It will also include a discussion of common development pitfalls and techniques you can use to keep your content W3C-compliant and working across multiple browsers.

420

Building Your Website on Mac OS X

Thursday, 2:00 - 3:30

North Beach

Mac OS X is a great platform for prototyping, developing, and deploying your next Internet application. This session will cover in great detail the powerful technologies incorporated into the platform for website building. We'll cover PHP, mySQL, Tomcat, Apache, and additional open source favorites that are built in to every copy of Mac OS X, as well as others that you can readily install to create compelling websites.

421

Replacing Old Style Windows and Dialogs with Nib Files

Thursday, 3:30 - 5:00

Presidio

This session will explain in great detail how to move your existing resource-based user interface to Nib files. We'll discuss how Interface Builder can be used to build a great Aqua user interface and go in-depth on how to modernize your Carbon code by switching to HIView, using the Carbon standard event handler, and using Carbon events to simplify your existing code.

422

Switching to the Modern HIToolbox: HIView

Thursday, 2:00 - 3:30

Presidio

Whether you've been using the Toolbox for many years, or you're a new developer looking for a C/C++ widget set, this session is for you. After a short architectural overview, we'll explain through a set of examples how to adopt HIView and take advantage of other new HIToolbox features in your Carbon application.

423

Mac OS X Spoken Interface

Thursday, 9:00 - 10:30

Presidio

The Universal Access capabilities of Mac OS X are being enhanced with a spoken interface that provides a new way—through speeh, audible cues, and keyboard navigation—to access the Macintosh. In this session, we'll provide details on these spoken interface extensions as well as a thorough overview of the Accessibility API. This session is a must for developers who are interested in making their applications Section 508 compliant.

424

Developing Accessible Applications

Thursday, 10:30 - 12:00

Presidio

This session will cover the best practices for ensuring your Carbon or Cocoa application works well with the Mac OS X Spoken Interface. Carbon developers will learn methods to easily add support for the Accessibility API into existing applications. Cocoa developers will take away techniques for adding accessibility support to custom controls. This session is invaluable to developers who want to make their applications accessible to all users.

425

Modern Text Layout and Editing for Carbon Applications

Friday, 2:00 - 3:30

Marina

Using Carbon Text? If so, you should come to this session. We will discuss the API options for rendering, laying out, and editing text in your Carbon application, and help you decide on the best approach. We will discuss how to use the MLTE API for objects bound to an HITextView, work with monostyled text, "chat" text fields, and much more. You'll get performance tips and tricks to optimize API usage when setting up an MLTE object and adding large amounts of styled text or pictures to it, as well as other common usage scenarios. Finally, we will discuss the internal enhancements to MLTE and ATSUI that will benefit your applications without changes to your code.

428

Maximizing Java Virtual Machine Performance

Tuesday, 2:00 - 3:30

North Beach

Improve your Java application's performance by choosing the right APIs and tuning the Java Virtual Machine to your needs. We'll focus on the performance capabilities of Java on Mac OS X and provide information about the latest APIs, garbage collection alternatives, and other "under-the-hood" optimizations available to you.

430

Advances in Cocoa Scripting

Friday, 5:00 - 6:30

Pacific Heights

Automation is an essential feature for any Mac OS X application and Cocoa includes powerful support for easily making your application scriptable. This session will include a brief overview of Cocoa scripting, and then present detailed information about upcoming improvements, including improved error handling, improved text support, and adoption of the latest key-value coding features. This is an intermediate-level session.

431

Ten Steps to Building a Great Java Application on Mac OS X

Thursday, 3:30 - 5:00

Nob Hill

This session will discuss important considerations when bringing an existing Java application to Mac OS X. We'll cover user interface, file I/O, drag and drop, image performance, reflection techniques, and Mac OS X user experience enhancements that can be made to your Java application, without sacrificing portability or simplicity.

433

Modernizing Custom Controls to Use HIView

Friday, 10:30 - 12:00

Russian Hill

If you have custom controls or custom content drawn with QuickDraw in your Carbon application, this session is for you. The Carbon HIView and other HIToolbox features will allow you to easily support fully composited windows and improve the performance and responsiveness of your application. We'll show you how to implement a wide variety of HIViews to handle drawing, user interaction, accessibility, and lots more.

434

Cocoa Performance Techniques

Friday, 3:30 - 5:00

Russian Hill

Customers value application performance and responsiveness as highly as great new features. This session will explain, through example code and demos, how to increase the performance of your application. We'll explore a variety of performance topics and techniques, such as view display optimization, and how to organize your data to help you develop fast Cocoa applications. This is an intermediate-level session.

435

How to Thread Your Application with the MP APIs

Tuesday, 3:30 - 5:00

Mission

Learn how to leverage the threading architecture in Mac OS X with single and multiprocessor hardware to significantly boost the performance and responsiveness of your application. This session will discuss the threading models available in Mac OS X and will show a step-by-step approach to threading. We'll use the Carbon multiprocessing APIs to thread a tight loop to gain a performance boost, and discuss how to use semaphores to notify the main thread once computation is done.

437

Advanced Development with Cocoa Text

Thursday, 10:30 - 12:00

Russian Hill

Cocoa's powerful text system continues to evolve. Come to this session to learn advanced, in-depth coding techniques, including how to control the flow of text and how to incorporate compelling inline content into your text. This session will also discuss future advancements to the Cocoa text system.

500

USB in Mac OS X

Tuesday, 5:00 - 6:30

Marina

USB offers several benefits to users, such as low cost, expandability, auto-configuration, and hot plugging. Come learn about the progress Apple has made with USB over the past year, including our adoption of USB 2.0 in all currently shipping products. We'll discuss where things are going in the future, what new device classes are on the horizon, and we will outline the types of solutions possible with USB today.

501

FireWire Overview

Tuesday, 3:30 - 5:00

North Beach

FireWire is Apple's high-speed interface of choice for devices requiring high bandwidth, long cable distances, or a high-powered bus. Come learn about the progress Apple has made over the past year with FireWire services, hardware, and tools. We'll discuss where things are going in the future, and outline the types of solutions possible with FireWire today.

502

Developing Bluetooth Applications

Tuesday, 9:00 - 10:30

North Beach

Apple is leading the way in popularizing Bluetooth by making this wireless technology available on all Mac systems. This session will outline the variety of methods that applications can use to access Bluetooth devices. Topics will include how to detect when Bluetooth devices are present as well as best practices when using Bluetooth serial ports, headsets, cell phones, and HID devices.

503

Optimizing for the Power Mac G5

Thursday, 9:00 - 10:30

Mission

The 64-bit G5 processor and high-bandwidth architecture make the Power Mac G5 a breakthrough in processing power. Come to this session to learn how to unleash all the power of the Power Mac G5 platform. We will focus on optimization for the G5: memory I/O, using the Velocity Engine, Mach-O, threading, loop unrolling, loop alignment, gcc G5-specific flags and other ways you can optimize your code for this powerful platform.

504

Rendezvous Update

Friday, 10:30 - 12:00

Nob Hill

This session is an overview of Rendezvous, Apple's implementation of the open protocol standard for zero configuration networking. We'll cover enhancements, new capabilities and platforms, and how to Rendezvous-enable applications and devices. We'll explain the APIs and how to use them, and discuss best practices for Rendezvous developers.

600

Apple in the Enterprise

Monday, 3:30 - 5:00

Mission

Hear from Apple executives how Apple delivers the power of Unix with the simplicity of Macintosh resulting in unparalleled ROI for enterprise customers. This session is ideal for IT managers looking to build the ultimate standards-based network infrastructure in a mixed client world.

601

HPC Technology Update

Tuesday, 10:30 - 12:00

Nob Hill

Learn how Apple's high performance computing technology is being used to build powerful computational clusters with Xserve G5 and Xserve RAID. Hear how customers are designing and deploying large installations to solve a variety of complex computing problems. This session is a must for IT managers, project managers, and scientists who are building computational clusters.

604

Best Practices for Building Computational Clusters

Wednesday, 10:30 - 12:00

Pacific Heights

Attend this session to learn the basic project management methodology and best practices for building a supercomputer cluster similar to the one in Virginia Tech—the 3rd most powerful supercomputer in the world. This session will cover how to design a non-blocking architecture, planning for heat and power, system management, and more, with case studies for small, medium, and large clusters. We'll also discuss new and emerging hardware architecture technologies, including interconnects, such as InfiniBand, Myrinet, 10GigE, ethernet jumbo frames, fiber channel, and FireWire, along with various storage solutions, filesystems, and the MPI stack.

605

Third-Party Enterprise Backup Solutions

Friday, 5:00 - 6:30

Marina

Attend this session to learn how to choose and use the best enterprise backup solution for your company. Solutions from BakBone, Dantz and other leading vendors will be showcased for your specific backup needs. This session is intended for system administrators, IT managers, and developers.

606

Third-Party Collaboration Solutions

Friday, 10:30 - 12:00

Mission

Leading vendors for collaboration solutions will provide an overview of messaging and calendaring solutions for both the client and the server. Learn how Mac clients can plug into an Exchange, Domino, or GroupWise environment. Learn how Mac servers, combined with third-party collaboration solutions, can provide a secure, scalable, and affordable infrastructure.

607

Client Management Solutions

Friday, 9:00 - 10:30

Pacific Heights

Come and learn the best practices for managing Macintosh clients in a heterogeneous environment using multiple technologies from industry leaders such as Apple, LanDesk, Netopia, Altiris, and Marimba. This session is ideally suited for system administrators with mixed network clients.

610

JBoss in Mac OS X Server

Friday, 9:00 - 10:30

Marina

In this session, you will get an overview of the JBoss server architecture. Learn how to deploy both WebObjects and J2EE applications using the tools that are provided with Mac OS X Server. This is an introductory to intermediate-level session.

613

Creating Application Clusters for Apache and MySQL

Wednesday, 9:00 - 10:30

Marina

Learn how to use fail-over and load-balancing technology from Emic Networks with Apache or MySQL applications running on Mac OS X. The Emic Application Cluster (EAC) includes performance scalability, load balancing, fault tolerance, and continuous availability with fast fail-over, as well as centralized cluster management—all running on Xserve technology. Web application developers, IT managers, and MySQL administrators will find this session useful and informative.

614

Deploying Java Applications on Mac OS X

Wednesday, 5:00 - 6:30

Mission

Learn about the various Java-based deployment options available to you on Mac OS X. We'll also show how you can use Xcode to make a great Java Web Start application or Java applet, and how you can take advantage of Ant to simplify your building and deployment process.

618

Distributed Computing Made Easy with Xgrid

Wednesday, 2:00 - 3:30

Nob Hill

Xgrid makes it easy to use a group of distributed Macs as your own personal supercomputer for performing CPU-intensive calculations. This session will cover how scientists, animators, and developers can use Xgrid to distribute their applications. We will describe the different protocols, developer APIs, and services provided by Xgrid, as well as provide guidelines for integrating it with MPI and other clustering solutions. If you are developing software that can easily be split into multiple parallel tasks, you won't want to miss this session.

620

Understanding Oracle 10g for Mac OS X

Wednesday, 3:30 - 5:00

Pacific Heights

Come to this session to learn about Oracle's latest grid-based relational database solution, Oracle 10g. Grid computing reduces the cost of IT by clustering servers together to function as a single large computer, shifting resources dynamically between applications. Attend this session if you are an in-house developer looking for a highly scalable and reliable database on Mac OS X Server.

621

Understanding Sybase ASE for Mac OS X

Wednesday, 5:00 - 6:30

Pacific Heights

Sybase is opening up new opportunities for enterprises seeking more cost-effective ways to build and serve mission-critical applications. Sybase Adaptive Server Enterprise (ASE) 1.5 allows enterprise developers to create sophisticated applications for resolving business pains and challenges. Learn how to develop enterprise-caliber applications with Sybase ASE 1.5 running on Mac OS X Server.

624

Enterprise CRM/ERP Solutions

Friday, 3:30 - 5:00

Pacific Heights

Learn how leading enterprise vendors such as SAP, Oracle and PeopleSoft develop and deploy client solutions on Mac OS X using Safari and other thin-client technologies. Macintosh system administrators responsible for SAP, Oracle and PeopleSoft, and in-house developers for thin clients should attend.

625

Integrating Mac OS X with Heterogeneous Networks

Thursday, 2:00 - 3:30

Marina

Learn how easy it is to integrate your Mac OS X clients and servers into a heterogeneous network. In this session, you will find out what it takes to integrate with unix and Windows networks; how to assume the duties of file and print server in an Active Directory domain; how to setup users' home directories on a Windows network served from an Xserve; and other system adminstration responsibilities. This is an ideal session for the system administrator of a heterogeneous network.

626

Xserve Deployment

Thursday, 3:30 - 5:00

Mission

Learn how to deploy Mac OS X Server and Xserve in an enterprise network. Apple's internal IT organization will share best practices in deploying Apple server solutions in a heterogeneous network. This session is for system administrators deploying Mac OS X Server and Xserve.

627

Inside Directory Services

Thursday, 10:30 - 12:00

Mission

Learn about the new directions and refinements planned for Apple's Open Directory architecture, LDAP directory services, Network Authentication Service Discovery, Network Service Location, the Open Directory API, and migration from NetInfo to Open Directory.

629

Using WebObjects EOF

Thursday, 2:00 - 3:30

Pacific Heights

This session will provide you with an in-depth exploration of the intermediate and advanced features of the Enterprise Objects Framework (EOF) in WebObjects. Topics include performance optimization, shared editing contexts, raw rows, multi-threaded database access, and data synchronization and locking. This is an intermediate-level to advanced session.

630

Network Administration Best Practices for Higher Education

Thursday, 9:00 - 10:30

Pacific Heights

Learn tips and tricks from the experts at the Higher Education Mac OS X Lab Deployment Initiative. Discover scripts and directory integration techniques for deploying labs in a higher-education environment. In this session, system and network administrators will receive useful sample roadmaps for deploying Mac OS X within their institutions.

631

Scripting for System Administrators

Thursday, 3:30 - 5:00

Pacific Heights

Learn how to script common system administration activities using various methodologies for Mac OS X, such as bash, Perl, and AppleScript. This session is a great opportunity for the system administrator looking to use automation to simplify tasks.

633

WebObjects Overview

Tuesday, 5:00 - 6:30

Russian Hill

This session provides an overview and roadmap for WebObjects. Meet the key players and discover the exciting news that Apple has planned for WebObjects in the year ahead.

635

Secure Your Application with Open Source Tools for Mac OS X

Friday, 3:30 - 5:00

Mission

Find out what tools are available to verify security across your application and network. We'll discuss scanning tools such as Nmap, Netcat, Nessus, and Radmind, along with Perimeter tools like Snort, Henwen, Fwbuilder, and OS-SIM. You'll also learn about how these and other tools work with Apple's Mac OS X Server, a secure enterprise platform. This session is ideal for developers requiring high levels of security for their applications.

636

Porting Visual Basic Applications to Mac OS X

Friday, 9:00 - 10:30

Mission

Learn how to use REALbasic to port your existing Visual Basic application to the Mac OS X platform. See the differences between Visual Basic and REALbasic, and learn how to take advantage of this tool for migrating your applications to the Mac. Find out how far VB Project Converter will take you, and learn tips, tricks, and techniques that will help make your port go as smooth as possible. This session includes a case study of how one vendor brought their solution over to the Mac OS X platform.

638

Xserve RAID Best Practices

Friday, 9:00 - 10:30

Nob Hill

Attend this session to learn how to combine Xserve RAID in configurations that meet demanding new storage needs with a high degree of reliability and redundancy. For example, we will discuss best practices for building a remote data replication and disk-to-disk-to-tape workflows. This session is for network planners, IT project managers, and network administrators.

639

How to Test and Debug Your Cross-Platform Java Application on Mac OS X

Wednesday, 2:00 - 3:30

Russian Hill

In this session we'll show you critical techniques for building fully platform-independent Java applications that can be deployed effortlessly on Mac OS X and other OS platforms. We'll demonstrate tools for diagnosing and troubleshooting your Java application, and provide pointers to the resources that Apple provides the Java development community.

640

Inside Network Authentication

Thursday, 2:00 - 3:30

Mission

Mac OS X Server's robust authentication model is based on Kerberos, the industry standard network authentication protocol. This session will discuss enhancements to the implementation of Kerberos both for the server and for end-user single sign-on. You will also learn how to ensure that your application is compatible across the different versions of Mac OS X Server and client using the Kerberos authentication protocol.

642

Software Development Best Practices for Computational Clusters

Friday, 2:00 - 3:30

Pacific Heights

This session will highlight code-level techniques for squeezing maximum performance out of your scientific applications on a computational cluster. We'll discuss the parallelization and multi-threading technologies in Mac OS X along with scientific solutions from leading providers such as BioTeam iNquiry and Platform Solutions LSF that are enabling faster and better science.

700

QuickTime and Digital Media State of the Union

Tuesday, 9:00 - 10:30

Presidio

Over a decade ago, the digital media revolution began with the advent of QuickTime. Today, QuickTime powers the industry's best media tools including Apple's own suite of innovative applications, and the world's best content is being created and delivered with QuickTime. From workflow to delivery, QuickTime has you covered. This session will discuss the latest industry trends and technology advances, and will kick off the QuickTime and Digital Media track.

701

An Introduction to Digital Media

Tuesday, 10:30 - 12:00

Haight/Ashbury

The key to making great digital video is understanding how it works. Come and learn the building blocks of digital media with topics such as SD vs. HD, 3:2 pull-down, deinterlacing, and much more. If you are a beginner or someone who could use a refresher course, this is a must-attend session.

702

An Overview of QuickTime Codecs

Tuesday, 3:30 - 5:00

Haight/Ashbury

QuickTime supports dozens of codecs. This session will present a comprehensive overview of audio and video codecs, followed by an in-depth discussion of the codecs that come with QuickTime. Learn about the unique strengths of each codec, so you can determine which to use for your own particular needs.

703

The Encoding Process in Depth

Tuesday, 5:00 - 6:30

Haight/Ashbury

High-quality encod